pythonのhttp.serverで簡易的なhhtpサーバを立てているのですが、使用を想定している環境がネット接続なしの環境のため、jquery、bootstrap等のスクリプトを CDNではなくhttpサーバ上のファイルから読み込みたいと思っています。
下記が試しているサンプルコードになります。
Sample.htmlでは CDN(コードではコメントアウト)での読み込みはうまくいくものの、同階層に配置したjquery-3.6.0.min.jsを読み込めない状態となっています。
HttpHandlerのdo_GETやdo_POSTを使えばうまくいきそうかなと試しているのですが上手くいかず…
方法を知っている方いましたらご教授お願い致します。
Python
1(Server.py) 2 3from http import server 4from http.server import BaseHTTPRequestHandler,ThreadingHTTPServer 5import threading 6 7 8class Server: 9 def __init__(self) : 10 self.HOST = 'localhost' 11 self.HTTP_PORT = 8080 12 self.client = None 13 14 self.https = ThreadingHTTPServer((self.HOST, self.HTTP_PORT),HttpHandler) 15 16 def start(self): 17 threading.Thread(target=self.https.serve_forever).start() 18 19 def shutdown(self): 20 self.https.shutdown() 21 22 def new_client(self,client,server): 23 self.client =client 24 25class HttpHandler(BaseHTTPRequestHandler): 26 def do_GET(self): 27 with open('Sample.html', mode='r', encoding='utf-8') as html: 28 response_body = html.read() 29 self.send_response(200) 30 self.send_header('Content-type', 'text/html; charset=utf-8') 31 self.end_headers() 32 self.wfile.write(response_body.encode('utf-8')) 33 34 35if __name__=="__main__": 36 server = Server() 37 server.start()
html
1(Sample.html) 2 3<!DOCTYPE html> 4<html lang="ja"> 5<head> 6 <script type="text/javascript" src="jquery-3.6.0.min.js"></script> 7 <!-- <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> --> 8 <script> 9 $(function(){ 10 $(".No1").css("color","blue") 11 }); 12 </script> 13</head> 14<body> 15<div class="No1">TestText</div> 16</body> 17 18</html> 19
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/07 06:57