重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

iframeでセレクトボックスからどのローカルHTMLに飛ぶかをwindow.openで書き換える方法で作ろうと思ったのですが、WindowsのChromeやAndroidのFirefoxでは動いたのですがAndroidのChromeでは動きません。

<html>
<head>

<form name="f1">
<p>
<select name="Select" onChange="HTML()">
<option value="nullPage.html">選択してください</option>
<option value="ASelect.html">A</option>
<option value="BSelect.html">B</option>
<option value="CSelect.html">C</option>

</select>
</p>
</form>
<iframe name="ifrm1" src="nullPage.html" width="1250" height="6000"scrolling="no" style="border:none;" frameborder="0"></iframe>
<script>
function HTML(){
window.open(document.f1.Select.value,"ifrm1");
}
</script>

</html>

AndroidのChromeで動作させるにはどのようになおすとよいのでしょうか?

質問者からの補足コメント

  • 最初に読み込まれるnullPage.htmlはAndroidのChromeでも読み込めているので、iframeの中でwindow.openで別のHTMLを開くことが機能していないようです。

      補足日時:2020/02/14 15:08

A 回答 (2件)

No1です



>window.openがAndroidのChromeで弾かれているみたいです
Android版はよく知りませんが、一般PC用ブラウザではユーザサイドで設定できたはずです。
というか、javascriptの実行自体の可/否も当然制御できちゃいますけど…

>iframeの中でwindow.openで別のHTMLを開くことが機能していないようです。
えっ?
これiframeに表示している内容なのですか?
ご質問に関しては、iframeは直接には関係ないものと考えましたけれど・・・

>なにか良い案があれば教えていただけると嬉しいです。
window.openではなく、iframeのsrc属性を書き換える方法にしてみてはいかがでしょうか?
(ちゃんと確かめてはいませんが、ブロックされるのはwindow.openからの動作だったような気がしますので)
    • good
    • 0

こんにちは



エレメントが取得できていないのではなかろうかと推測しました。

HTML側からは、
<select name="Select" onChange="HTML(this)">

で呼び出すようにして、スクリプトは

function HTML(t){ window.open(t.value, "ifrm1"); }
ってな感じにしたら動作しませんか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。試してみましたが、やはりChromeでは動かず、気がついたこととして、最初に読み込まれるnullPageは読み込めていることからiframe内でのwindow.openがAndroidのChromeで弾かれているみたいです...。なにか良い案があれば教えていただけると嬉しいです。

お礼日時:2020/02/14 15:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!