
こんにちは。
今作成中のサイトで、地図印刷用ページをポップアップ表示させるため、以下のようなコードをつくりました。
html側
<a href="javascript:printwindow('map_print.html');">
js側
function printwindow(url){
window.open(url,document.title,"width=640,height=850,left=0,top=0,scrollbars=1,resizable=1");
}
しかし、これではFirefoxでは新ウィンドウがエラーなしで表示されたのですが、IEでは「ページでエラーが発生しました」と言われ、ウィンドウが開きません。エラー内容は以下の通りです。
ライン:4
文字:2
エラー:引数が無効です。
コード:0
url:(エラーを起こしたファイル)
色々と試したり、検索したりもしたのですが原因究明に至れないため質問いたします。window.openがIEではなにか問題がありそうな気配だけはわかった気がします(的外れなのかもしれませんが)。原因をお教えいただけますと大変助かります。よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
> htmlファイルとの差といえば、<title>タグが無題ドキュメントか正式名か、
これが原因な気がします。window.openの第二引数で使用できない文字を設定しているのではないかと。具体的に何が駄目かは分かりませんが、例えば「\」とかをタイトルに入れるとエラーが発生しました。
この回答への補足
ありがとうございます。
第2引数をdocument.titleから取らずに、適当な文字を""でくくって指定してあげると開くことが出来ました。
第2引数で使用できない文字があることを初めて知りました。ご回答をいただいたあと"window.open 第二引数"などで調べてみたところ、どうやらIEではサイトの詐称を防ぐ意味か何かで、使用できる文字を制限している(らしい)という情報を得ました。確たる証拠を押さえたわけではないのですが・・・。
どの文字がダメなのかをまとめたサイトとかがあると大変助かるのですが、見つかりませんね・・・;;
No.1
- 回答日時:
質問ですが
function printwindow(url){
window.open(url,document.title,"width=640,height=850,left=0,top=0,scrollbars=1,resizable=1");
}
でconfirmやalertを用いてurlを表示させた時きちんと「map_print.html」と表示されていたんですよね?
文法は間違っていないみたいので関数が値を受け取れているか知りたいのですがどうでしょうか?
書き込みありがとうございます。
はい。それはたとえばalert(url);とかですよね?
これをwindow.openの上の行に挿入したところ、ちゃんと「map_print.html」と表示されます。
悩まされるのは、Firefoxではエラーコンソールに何一つエラーが表示されないことなんです。全く正常かのようにウィンドウが立ち上がります。
さらに不明なことは、少し前にはこの記述で問題なくIEでも起動できていたことなんです。起動できるhtmlファイルも残っています。しかし起動できないhtmlファイルとの差といえば、<title>タグが無題ドキュメントか正式名か、という点とメタキーワードとメタ紹介文を追記したかどうか、あとCSSを多少修正したくらいです。問題となる質問部分のコードはなんら変えてはいません。
・・・いや、ちょっとだけ変更しました。元はこんな感じでした。記述ミスがあったし、色々試したんで質問の形になったのでした。
function printwindow(url){
window.open(url,document.title,"width=640,height=850,left=0px,top=0px,scrollbars,resizable")
}
ただ、この記述をまるまる移してきたとしても、エラーは解消されませんでした。
逆に、質問内容の記述を旧ファイルに移したら、正常に動作しました。何処に原因があるのか、なぜそれがこのjavascriptに影響しているのか。本当に混乱してしまいます。
もう少しで完成、というところにきてつまずき、大変頭が痛いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- Visual Basic(VBA) vba スライサー 1 2022/08/16 14:07
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- HTML・CSS htmlについて質問です コードを打ったあと画像が表示されないので調べる svg ファイルが写真のよ 1 2023/07/11 10:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IE7でdocument.styleSheets[n]....
-
ホームページビルダーでスクリ...
-
「実行しましたが、ページでエ...
-
オブジェクトでサポートされて...
-
HTMLにデバック機能はないので...
-
正規表現について
-
Ajaxで通信したJavascript動作...
-
JSでファイル数取得
-
javascriptで最初のところに戻...
-
javascriptでフォルダ内のファ...
-
JSPの処理の途中で、JavaScript...
-
JavascriptでのExcel起動について
-
safariではロールオーバー機能...
-
チェックボックスのチェックの...
-
禁止文字チェック
-
gas 全角数字を半角数字に変換
-
delete[]と、delete演算子の明...
-
ページ遷移時にアコーディオン...
-
Excelのマクロ一括実行ができな...
-
C#でTextBoxに数値のみ入力可能...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PDFフォームで条件つき金額を表...
-
javascript:void(0)とは何でし...
-
Javascriptエラーの原因が分か...
-
ホームページビルダーでスクリ...
-
クロスドメインでクッキーの取得
-
confirm()をはい/いいえ に切...
-
JavaScriptのお勧めのデバッグ...
-
エラー回避の方法
-
window.openがIEでエラーにされる
-
特定の文字でエラー
-
IE8開発者ツールでソースの修正
-
ウェブページエラー。助けてく...
-
Firebugでエラーメッセージが出...
-
PhotoshopのJavaスクリプトで明...
-
HTAで,親ウインドウを閉じ...
-
HtmlからExcelを操作したい
-
ホームページビルダのエラーに...
-
HTMLにデバック機能はないので...
-
オブジェクトでサポートされて...
-
javascript が消えた?
おすすめ情報