同一階層に
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ランキング
-
ワードでA3横の画面にして、文...
-
バッチファイル 特定ウインドウ...
-
正規表現で、特定の文字列を含...
-
入力フォームの値をQRコードで...
-
1枚の画像をクリックすると複数...
-
Pythonを無料(安価)で学ぶ方...
-
PDFを(htmlのように)無限に縦...
-
GASでスプレッドシートの一番上...
-
jQueryで入力テキスト付きのモ...
-
非同期通信を使うタイミングが...
-
RPA(PowerAutomate)の実装について
-
Ajax React Jqueryの位置づけと...
-
C言語のflagの使い方が分かりま...
-
bxsliderで最初に縦に複数表示...
-
bxsliderで複数のvimeoスライド...
-
php コールバック関数
-
ナイトボットのAliasについて
-
これってなんの電話かわかりま...
-
VBAでクイズゲームの作り方
-
以下のURL入れますか?皆さんは↓
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jqueryのcolorboxを読込直後に...
-
サイトにアクセスした際、数秒...
-
jquery ui.resizable 使い方
-
base64encodeでの文字化けについて
-
スライド写真で2、3枚目をラ...
-
jQuery が動作しません。
-
jQueryと他のライブラリを同時...
-
マスターページでのJavaScriopt...
-
jquery select要素のdisplay:no...
-
jqeryのslicksliderのパスにつ...
-
javascriptとjuaryを同時に
-
Javascriptのエラーに悩まされ...
-
<div>のタッチ状態を維持したま...
-
javascript 引用符
-
JavaScriptで背景や文字色を色→...
-
jqueryとlightboxが一緒に動作...
-
Base64に変換したHTMLの<script...
-
jQueryBlockUIをフレーム内で動...
-
mootoolsとjQueryの共存がうま...
-
ヤフーのジオの広告のような技法
おすすめ情報
