teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

ChromeではOKでしたがIE11でNGでした。

2018/05/08 04:17

投稿

Yasu0421
Yasu0421

スコア37

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,12 @@
1
1
  ### 前提・実現したいこと
2
+ ご回答いただいた皆様には申し訳ございませんが、本件ReOpenさせてください。
3
+ ご回答いただいた、mts10806様、yambejp様 有難うございました。
4
+ 本件、再度本文に記載させていただきます。
5
+
6
+ 以下、「試したこと」の欄に継続して記載させていただきます。
7
+
2
8
  HTMLとJavaScriptとを用いて
3
- 複数の任意の外部スクリプトに定義してある連想配列データ(WeeklyData.js)をHTML上で選択取込みし、その後、
9
+ ”ローカル”にある複数の任意の外部スクリプトに定義してある連想配列データ(WeeklyData.js)をHTML上で選択取込みし、その後、
4
10
  その取込んだデータを、別名で定義したグローバル変数として現ページ上で保持し、
5
11
  様々な演算処理に利用したいと考えております。
6
12
 
@@ -84,6 +90,49 @@
84
90
  ```
85
91
 
86
92
  ### 試したこと
93
+ yambejp様からご回答いただいた以下の内容でChromeでは
94
+ 起動オプション「--allow-file-access-from-file」を追加することで、
95
+ ローカルにあるScriptを読み込むことができたのですが、IE11で確認すると
96
+ 読み込めない状況でした、
97
+
98
+ ```Javascript
99
+ $(function(){
100
+ $.when(
101
+ $.getScript("../2018/Apr/Week1/WeeklyData.js",function(){foo1()}),
102
+ $.getScript("../2018/Apr/Week2/WeeklyData.js",function(){foo2()})
103
+ ).done(function(){
104
+ console.log(W11data);
105
+ console.log(W21data);
106
+ });
107
+ });
108
+ ```
109
+ そこで、調べてみたところ、jQueryの読み込みの後に、以下様にすれば
110
+ IE11でも読めるとありましたので、試してみましたが、
111
+ 「WeeklyData.js」を開きますか?という表示が出力され、やはり
112
+ 取込むことができませんでした。
113
+
114
+ ```Javascript
115
+ <script src ="../jQuery/jquery-3.3.1.min.js"></script>
116
+ <script>
117
+ //$.ajaxSetup({cache: false});
118
+ $.ajaxSetup({
119
+ xhr: function() {
120
+ if("ActiveXObject" in window) {
121
+ return new ActiveXObject("Microsoft.XMLHTTP");
122
+ }
123
+ else {
124
+ return new XMLHttpRequest();
125
+ }
126
+ }
127
+ });
128
+ </script>
129
+ ```
130
+ jQueryを使わない手段、もしくは使用してもIE11でローカルにある
131
+ 外部スクリプトを取込める手段、ご教示いただければ幸いです。
132
+ 以上、どうぞよろしくお願い致します。
133
+
134
+
135
+
87
136
  1)Chromeブラウザにて、  
88
137
  $.getScript("../2018/Apr/Week1/WeeklyData.js",function(){foo1()});
89
138
  でブレークをかけて、ステップ実行すると、取込める場合があるのですが、

1

コード部分を```で括りました

2018/05/08 04:17

投稿

Yasu0421
Yasu0421

スコア37

title CHANGED
File without changes
body CHANGED
@@ -14,6 +14,7 @@
14
14
  ### 該当のソースコード
15
15
  先ず外部データであるWeeklyData.jsの中身ですが、以下の様に単純に連想配列データを記載したものです。
16
16
  ----------------------------
17
+ ```Javascript
17
18
  var data1 =[
18
19
  { Period : "Apr1-7",
19
20
  DataID : "ID0001",
@@ -33,13 +34,13 @@
33
34
  val4 : 15,
34
35
  val5 : 30,
35
36
  }
36
- ・・・・・・・・・
37
+ ```
37
- ・・・・・・・・・
38
38
  上記の様なデータが多数続きます。仮にここでは10個の配列データとします。
39
39
  ----------------------------
40
40
  次に上記のデータを取込み、別名のグローバル変数として再定義する為に
41
41
  以下のようにgetScriptを用いて、取込み完了後にfoo()という関数で
42
42
  別のグローバル変数へ代入する方法を試みました
43
+ ```HTML
43
44
  <html>
44
45
  <header>
45
46
   <!-- JQuery DL -->
@@ -80,6 +81,7 @@
80
81
  ----
81
82
  </body>
82
83
  </html>
84
+ ```
83
85
 
84
86
  ### 試したこと
85
87
  1)Chromeブラウザにて、  
@@ -90,11 +92,13 @@
90
92
  ような動きになってしまいます。
91
93
  また、
92
94
  2)jQueryを用いずに
95
+ ```Javascript
93
96
  <script>
94
97
  var script = document.createElement('script');
95
98
  script.src = 'WeeklyData.js';
96
99
  document.head[0].appendChild(script);
97
100
  </script>
101
+ ```
98
102
     で外部データを読み込み、その後にfoo1()を実施するなども試みましたが
99
103
     やはりダメでした。
100
104