2016-07-22 8 views
1

最近、security bugのためにiOSをアップグレードしましたが、私のウェブサイトが私の電話で正しく読み込まれなくなっています。私のデスクトップで、私は簡単な例まで問題を煮てきたSafari iOSでJavascriptファイルが読み込まれていませんか?

...

のindex.html =

<html> 
<head> 
    <title>Demo</title> 
    <meta name="description" content="Test of basic Javascipt function"> 
    <script src="demo.js"></script> 
</head> 
<body class="body"> 
    <div id="main"> 
    </div> 
</body> 
</html> 

demo.js =

var i = 0; 

function update() { 
    'use strict'; 
    document.getElementById("main").innerHTML = i; 
    i = i + 1; 
} 
setInterval(update, 1000); 

が、これは生産しますiteratingカウントが、私の携帯電話(モバイル/ 12G34 Safari/601.1)でSafariで見たときにjavascriptファイルは単にロードされていない???? Javascriptファイルは、私がUSB経由でテザリングしている私のWebInspectorの "All Resources"タブにも表示されません。

提案?

おかげで、

ビル


は編集: この質問には回答を得なかったが、私はまだこの問題と格闘しています。私はいくつかの情報を見つけました。私はjavascriptのが原因でロードされていないことを発見したSafariのWebInspectorを使用して

...

http://192.168.133.1/demo.html」 ドキュメントのフレームがサンドボックスとされているため、「許可し、スクリプトの許可でブロックされたスクリプトの実行 が設定されていません。

私はesp8266のホームスパンウェブサーバーからこのページを提供しているので、このメッセージは私にHTTPヘッダーを調整するよう促しました。 HTTPヘッダーが正常に表示されます。

このhtmlページが最初にサンドボックス化されていることや、Safari Mobileでスクリプトを実行できるように「スクリプトを許可する」方法を理解できません。

ご協力いただければ幸いです。

答えて

-1

同じ問題(Safari 9.1.2のSafair/Chrome、Safari 9.1.2のOSX)がありました。

私たちはすべての画像の網膜版をロードしようとするためにjavascriptライブラリを使用したためです。 HTTP/0.9ではなく、HTTP/1.1を使用して送信されたリクエストは、次のすべてのリクエストでSafariを自動的にサンドボックス化しました(エラーメッセージは「自動的にサンドボックス化されました... HTTP/0.9のため」)。 iOS 9.3.3(https://support.apple.com/en-us/HT206902)のセキュリティの変更履歴には、CVE-2016-4651に関連するものが記載されています。

は、WebサーバーがHTTP/1.1をサポートし、あなたが私のArduinoプロジェクトのWebサーバ機能を実装するとき、私はまったく同じ問題を持っていたHTTP/1.1

2

を使用してページを要求していることを確認してください。私のWebサーバーの実装は、デスクトップブラウザとiOS(9.3.5)のChromeでうまくいきました。 Firefox(5.1(1))とiOSのSafariの両方に問題がありました。私のWebページはjQueryを含むスクリプトを使用しています。スクリプトはArduinoからAJAX/JSONを使用してデータを転送するために使用されます。

私の実装の基礎として使用した例に問題がありました。これらの例では、OKの場合のブラウザのHTTP GET要求に対するWebサーバーの応答には、実際に要求されたドキュメント以外のものは含まれていません。その場合、WebブラウザはWebサーバーがHTTP/0.9を使用していると考えます。さらに、Content-Typeが欠落しています。ブラウザーのほとんどは、含まれていないにもかかわらず、返信のContent-Typeが何であるかを「推測」することができます。私の場合は

ドキュメントの フレームをサンドボックス化され、「許可し、スクリプトの許可が設定されていないため、Safariは2つのエラーhttp://myip

  1. ブロックされたスクリプトの実行を報告しました。
  2. サンドボックスhttp://myip/image.jpg 'はHTTP/0.9を使用しているためです。

最初のエラーでブラウザがJavaScriptとjquery.jsの読み込みを拒否します。その後、AJAXは動作しません。デスクトップのFirefoxも整形式のJSON返信ではなく、うまくいきました。

実際のデータの前にHTTP応答に常にHTTPバージョン、ステータスコード、Content-Typeが含まれるように実装を変更しました。たとえば、ブラウザが要求GET/HTTP/1.1を送信すると、サーバーは、単にデフォルトのWebページを送信しませんが、そのすべてのエラーが消えた後

HTTP/1.1 200 OK 
Content-Type: text/html 

が含まれています。 Safariの新しいバージョンはHTTP/0.9を受信したくないようだし、それが戻ってくるものをサンドボックスにするだろう。

+0

この解決済みの鉱山の問題 –

関連する問題