同一階層に
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ランキング
-
複数のjavascriptを使うと動か...
-
ワードプレスでjQuery 右から飛...
-
Base64に変換したHTMLの<script...
-
<a href="#" …>の意味を教えて...
-
cssにjavascriptを入れる?呼び...
-
別ファイルのfunctionの読み込み方
-
テキストをクリックすると答え...
-
iframeの中から親ページをスム...
-
bodyにidをつける理由は何ですか?
-
リンクに飛ばない・・・
-
javascriptファイルは1つに統...
-
<iframe>~</iframe>内のwindow...
-
javascriptでbgmを自動再生する...
-
onbeforeunload時のwindow.open...
-
外部からのjs呼び出しについて。
-
function の return 値を表示し...
-
「jQuery」アニメーションをル...
-
Dreamweaver で 外部JSを読み込...
-
親フレームのURLによって、...
-
文字をクリックすると 小窓が開く
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
base64encodeでの文字化けについて
-
jquery ui.resizable 使い方
-
複数のjavascriptを使うと動か...
-
Base64に変換したHTMLの<script...
-
bxslider、画像が3枚以上になる...
-
Jqueryの干渉について
-
DreamWeaverでJS
-
複数のバージョンのjQueryを同...
-
マウスオーバー+クリカブルマッ...
-
マスターページでのJavaScriopt...
-
jqueryのcolorboxを読込直後に...
-
javascript外部読み込みの際の引数
-
lightbox2 表示の不具合
-
jsファイルで配列を定義し、j...
-
jqueryを2つ設置した事で片方...
-
<script>タグというのはどこか...
-
Javascriptがうまく動作しません。
-
同一HTML内に複数のjQueryを作...
-
jqueryについて(Lightboxとbxs...
-
colorboxの直接呼び出し方法に...
おすすめ情報