回答編集履歴
1
evalを使った対処について記述を追加
test
CHANGED
@@ -5,3 +5,19 @@
|
|
5
5
|
|
6
6
|
|
7
7
|
JSONP側の仕様が「グローバル変数の`jsonCallback`の内容をコールバックとして実行する」となっており, これをローカル変数として隠蔽することは出来ません.
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
---
|
12
|
+
|
13
|
+
なおJSONPコードを**直接テキストとして入手**し, `eval`関数で実行すればローカル変数`jsonCallback`に設定されたコールバック関数を呼び出すことができるかもしれません.
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
※但しこの場合においては**クロスオリジンでのデータ入手**となるので, サーバー側の設定によってはうまく行かないでしょう.
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
NOTE:
|
22
|
+
|
23
|
+
JSONPは`script`要素が外部ドメインのソースコードを直接読み込む挙動を利用したデータ授受なので, その代償としてグローバル変数を(一つ)汚染してしまうのは仕方ありません.
|