同一階層に
a.html として
<html>
<body>
<script>
var text2="ハロー"
document.write(text2);
</script>
<br>
<script src="a.js"></script>
<script>
document.write(text);
</script>
a.js として
var text="こんにちは"
とすると
a.html には
ハロー
こんにちは
と表示されるのですが、a.htmlをiframeにBase64にエンコードして埋め込むと
<iframe src="data:text/html;base64,PGh0bWw+Cjxib2R5Pgo8c2NyaXB0Pgp2YXIgdGV4dDI9IoNug42BWyIKZG9jdW1lbnQud3JpdGUodGV4dDIpOwo8L3NjcmlwdD4KPGJyPgo8c2NyaXB0IHNyYz0iYS5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQ+CmRvY3VtZW50LndyaXRlKHRleHQpOwo8L3NjcmlwdD4KCgo="></iframe>
これではa.jsが読み込まれず実行結果は
ハロー のみになり<script src="a.js"></script>が実行されません。
document.write("<script src=\"./a.js\"></scr'+'ipt> ");
にしても、Base64変換したあとはa.jsが読み込まれません。
どうしてでしょうか?
No.1ベストアンサー
- 回答日時:
こんにちは
ちゃんと確認してはいませんが・・・
>Base64変換したあとはa.jsが読み込まれません。
jsのURIはiframeのソースに対する相対アドレスとして記されていますが、そもそもbase64でHTML内に埋め込まれたソースのURIはどこなのでしょうか?
試しにiframeのbaseURIを調べてみると、base64の文字列がそのまま返されるようです。
推測ですが、「a.js」という相対アドレスが無効で読み込めていないのではないでしょうか?
絶対アドレスで指定したらどうなるでしょうか?
回答ありがとうございます。調べてみたところ、データURIスキームを用いるとChromeでは外部ファイルの読み取りができないように制限がかかっているということでした。絶対アドレスの場合はFirefoxでは読み込めたので正しく相対アドレスを書き直せばFirefoxでは動くと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- JavaScript WordPressのコンタクトフォーム7にて送信者の位置情報を送らせたい 2 2022/09/14 23:28
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript プラグイン無しでContactform7にdatepickerを実装 3 2022/10/25 02:18
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript 【jquery】EasyUIのSubGridにMySQLのテーブルデータを表示&編集にしたい 5 2022/05/02 13:10
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
base64encodeでの文字化けについて
-
文字サイズの大中小について
-
map とlightbox
-
javascript外部読み込みの際の引数
-
jQuery-datepicker on IE8
-
<a href="#" …>の意味を教えて...
-
別ファイルのfunctionの読み込み方
-
function の return 値を表示し...
-
JavascriptとJqueryを混在し記述
-
jQueryでdivをクリックし別窓で...
-
(Javascript)印刷するファイル...
-
JavaScriptでiframeの内容を「...
-
相対パスと絶対パスの速度
-
bodyにidをつける理由は何ですか?
-
以下の内、どれでも良いので可...
-
外部ファイル名を変数で指定で...
-
サブウィンドウの大きさを複数...
-
複数のJavascriptを1つのscrip...
-
Dreamweaver で 外部JSを読み込...
-
Safariで<iframe>のinnerHTMLを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
base64encodeでの文字化けについて
-
複数のjavascriptを使うと動か...
-
jqueryでのkeydownイベント発生...
-
Jqueryの干渉について
-
Base64に変換したHTMLの<script...
-
プラグイン無しでContactform7...
-
jQuery-datepicker on IE8
-
サイトにアクセスした際、数秒...
-
jQuery が動作しません。
-
javaスクリプトについて質問で...
-
jQueryでloadした要素の操作が...
-
jqueryについて(Lightboxとbxs...
-
scrollsmoothly.jsが動かない
-
JavaScriptで背景や文字色を色→...
-
jQuery UIのdraggableについて
-
colorboxの直接呼び出し方法に...
-
「jquery.csv2table.js」から生...
-
●jQuery;スクロールでついてく...
-
jQueryのdraggable縦書き出来ま...
-
Camera slideshowの使い方について
おすすめ情報