質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

13365閲覧

window.open()をしても、小窓が開かなくなってしまいました。

chibi

総合スコア20

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

3クリップ

投稿2017/04/13 02:38

編集2017/04/13 04:46

window.open()メソッドで、リンクを小窓で開くようにしていました。
Google Chromと、Safariで昨日までリンクを開けていたのですが、どちらもwindow.open()が効かなくなってしまいました。
ポップアップブロックはしていません。
ボタンを押した時に、Chromだと左下にjavascript:w=setTimeout("openLink()", 100);と出ます。

html

1<a href='javascript:w=setTimeout("openLink()", 100);'><img src="Button.png" alt="ボタン" width="360" height="" style="position:absolute;top:10px;left:30px;"></a> 2 3<script type="text/javascript"> 4function openLink(){ 5 window.open("https://www.yahoo.co.jp/", "","width=600, height=500, menubar=no, toolbar=no, scrollbars=yes"); 6} 7</script>

Consoleには、

VM909:1 Uncaught ReferenceError: openLink is not defined at <anonymous>:1:1

と出ています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Lhankor_Mhy

2017/04/13 04:46

動いていたときから、何か変更をしましたか? それとも、何も変更していないのに動かなくなったのですか? また、IEやfirefoxでは動作しますか?
chibi

2017/04/13 04:51

ボタンを追加したことと、style.cssを追加しました。消してみましたが、window.openは開かないままです。
toutou

2017/04/13 05:04

うちではfirefoxとOperaが動いてfirefoxは謎の2が出ます
Lhankor_Mhy

2017/04/13 06:40

2はsetTimeoutの戻り値でしょうね。
guest

回答2

0

ベストアンサー

https://codepen.io/anon/pen/eWYjjo

普通に動いてるように見えます。

本来openLinkが定義されていないというエラーですが、他の部分のjavascriptが文法エラーになっているが、openLinkがエラーと表示されている可能性がありますので外のjavascriptの部分を調査してみてはいかがでしょうか!

投稿2017/04/13 05:02

MasakazuFukami

総合スコア1869

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

windows.openのパラメータは第3引数じゃないですか?

javascript

1 window.open("https://www.yahoo.co.jp/","_blank", "width=600, height=500, menubar=no, toolbar=no, scrollbars=yes");

setTimeoutも可能なかぎりコールバックで処理したほうがいいかと

setTimeout(function(){openLink()}, 100)

追記

以下で再テストしてください

javascript

1<script> 2function openLink(){ 3 setTimeout(function(){ 4 window.open("https://www.yahoo.co.jp/","_blank","width=600, height=500, menubar=no, toolbar=no, scrollbars=yes"); 5 },100); 6 return false; 7} 8</script> 9 10<a href='#' onclick='return openLink();'><img src="Button.png" alt="ボタン" width="360" height="" style="position:absolute;top:10px;left:30px;"></a>

(あえてsetTimeoutする必要はなさそうですが念の為原文にあわせておきました)

投稿2017/04/13 04:38

編集2017/04/13 04:51
yambejp

総合スコア114572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chibi

2017/04/13 04:46

回答ありがとうございます! >windows.openのパラメータは第3引数じゃないですか? 申し訳ありません。質問する際にリンクを書き換えたとき間違って第二引数を消していました。第二引数がある状態にしても、ReferenceError: openLink is not defined at <anonymous>:1:25のエラーになります。
yambejp

2017/04/13 04:52

微妙に認識が違いそうなので追記しておきました
chibi

2017/04/13 04:57

追記していただいたコードでやってみたのですが、下記のエラーが出ました。 Uncaught ReferenceError: openLink is not defined at HTMLAnchorElement.onclick (answer654470527:153)
yambejp

2017/04/13 05:35

なにか別のコードを利用するなどして競合しているのでは? openLinkが参照できないということは、小窓が開けない以前 事前に定義したユーザー関数は一切参照できないような環境なのではないでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問