アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは。

今作成中のサイトで、地図印刷用ページをポップアップ表示させるため、以下のようなコードをつくりました。

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ではなにか問題がありそうな気配だけはわかった気がします(的外れなのかもしれませんが)。原因をお教えいただけますと大変助かります。よろしくお願い致します。

A 回答 (2件)

> htmlファイルとの差といえば、<title>タグが無題ドキュメントか正式名か、



これが原因な気がします。window.openの第二引数で使用できない文字を設定しているのではないかと。具体的に何が駄目かは分かりませんが、例えば「\」とかをタイトルに入れるとエラーが発生しました。

この回答への補足

ありがとうございます。

第2引数をdocument.titleから取らずに、適当な文字を""でくくって指定してあげると開くことが出来ました。
第2引数で使用できない文字があることを初めて知りました。ご回答をいただいたあと"window.open 第二引数"などで調べてみたところ、どうやらIEではサイトの詐称を防ぐ意味か何かで、使用できる文字を制限している(らしい)という情報を得ました。確たる証拠を押さえたわけではないのですが・・・。

どの文字がダメなのかをまとめたサイトとかがあると大変助かるのですが、見つかりませんね・・・;;

補足日時:2007/08/23 15:47
    • good
    • 0
この回答へのお礼

ともあれ、ご指摘いただいた部分を修正することでウィンドウを開くことが出来ました。ありがとうございます。

大変助かりました。

お礼日時:2007/08/23 15:51

質問ですが


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」と表示されていたんですよね?
文法は間違っていないみたいので関数が値を受け取れているか知りたいのですがどうでしょうか?
    • good
    • 0
この回答へのお礼

書き込みありがとうございます。

はい。それはたとえば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に影響しているのか。本当に混乱してしまいます。

もう少しで完成、というところにきてつまずき、大変頭が痛いです。

お礼日時:2007/08/23 14:08

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