Webサーバ(https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP)にコンテンツセキュリティポリシーヘッダを設定すると、最新のブラウザでインラインスクリプトがブロックされます。すべてのjavascriptを.jsファイルに配置し、これらの.jsファイルがホストされているドメインを認可するようにポリシーを設定することをお勧めします。コンテンツセキュリティポリシーを使用してクライアントスクリプトにサーバデータを渡す
私の質問は、サーバー側のアプリケーションからクライアントスクリプトにデータを渡す方法です。
たとえば、サーバー側の値を入力とするjs関数を呼び出す場合、ブロックされているページ本文で、以下のコード(MVC.Net Razor View)のような関数を呼び出す必要があります。
<body>
...
<input type="button" value="Test" onclick="DoSomething('@ViewData["SomeValue"]');" />
...
</body>
私は、クエリ文字列スクリプトのsrc属性(http://feather.elektrum.org/book/src.html)にデータを渡すためにいくつかの方法を見つけたが、私はそれが最善の解決策であるかわかりません。 私は特に、srcクエリ文字列の変数のキャッシュ問題について心配しています。それを行う良い方法はありますか?
ファイルそのことを聞いたことはありません「いずれかのインラインスクリプトは、最近のブラウザでブロックされています」。 – Seblor
@Seblor:編集 – Jonathan
を参照してください。たとえば、サーバー側の値を入力とするjs関数を呼び出す場合は、ブロックされているページの本文で関数を呼び出す必要があります。ここでやるクライアントは、「データ」の要求を作成し、「データ」を受信し、データが呼び出された後に任意の関数を自由に呼び出すことができます。あなたのシナリオはJSONPと同じですか? – bhantol