同一階層に
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ランキング
-
jqueryでのkeydownイベント発生...
-
マウスオーバー+クリカブルマッ...
-
jqueryを2つ設置した事で片方...
-
jsファイルで配列を定義し、j...
-
外部JSファイルで値を受け取る方法
-
jQueryの基本的なことについて...
-
bxslider、画像が3枚以上になる...
-
CKeditorについて
-
lightbox2 表示の不具合
-
ワードプレスでjQuery 右から飛...
-
あなたのXAMPPのdashboard内のj...
-
HTMLでサブフレームから親のス...
-
<a href="#" …>の意味を教えて...
-
別ファイルのfunctionの読み込み方
-
javascriptファイルは1つに統...
-
JavaScriptでiframeの内容を「...
-
JavascriptとJqueryを混在し記述
-
ブラウザの「戻る」ボタンを押...
-
ウィンドウ名の設定
-
他のフレームのスクリプトを実...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
base64encodeでの文字化けについて
-
複数のjavascriptを使うと動か...
-
jqueryでのkeydownイベント発生...
-
Jqueryの干渉について
-
Base64に変換したHTMLの<script...
-
プラグイン無しでContactform7...
-
jQuery-datepicker on IE8
-
サイトにアクセスした際、数秒...
-
jQueryでloadした要素の操作が...
-
javaスクリプトについて質問で...
-
jqueryについて(Lightboxとbxs...
-
jQuery が動作しません。
-
jQuery UIのdraggableについて
-
scrollsmoothly.jsが動かない
-
jQueryのタブにスクロールバー...
-
画像をランダムにフェードイン
-
音楽再生用jQueryプラグイン「j...
-
colorboxの直接呼び出し方法に...
-
jQueryのdraggable縦書き出来ま...
-
Camera slideshowの使い方について
おすすめ情報