0

タブ付きブラウザ(私にとってはFF ​​3.5インチ)では、Ctrlキーを押しながらクリックするか中クリックで新しいタブのリンクを開くことがよくあります。リンクにJavascript関数が含まれている場合は、次のいずれかを実行します。

  • 空白の新しいタブが開きjavascript:window.print()、アドレスバーに「またはwhat-have-you」が表示されます。
  • 関数は正常に実行され、空白の新しいタブが開きます。

つまり、これはすべてのJavascript関数で一貫して発生するわけではないようです。例えば:

  1. このページの[印刷]ボタンをCtrlキーを押しながらクリックすると、印刷ダイアログが開き、空の新しいタブが生成されます。
  2. このページのホワイトペーパーリンクは、Ctrlキーを押しながらクリックすると、空の新しいタブのみを生成します。

問題のリンクには、それぞれ次のコードが含まれています。

  1. javascript:window.print();
  2. javascript:_hbRedirect('PDF Downloads','White Paper','URL.pdf','&c1=TITLE|US-en')

このSOの質問はやや似ています。最も評価の高い回答はAJAXベースのソリューションの詳細ですが、一部のJavascript関数が他の関数とタブで異なる動作をする理由の説明を見つけることができませんでした。

4

2 に答える 2

1

JavaScript を XHTML と混在させないでください。リンクの href 属性を、リンク先のページまたはドキュメントにします。タグで何か特別なことをしたい場合は、イベント登録を使用してください。

MooTools 風:

a.addEvent ('click', function (e) {

});
于 2009-08-07T20:25:36.677 に答える
1

これwindow.print()は、デフォルトですでに定義されているため、通常どおり呼び出されるために発生します。

リンクは未定義のjavascript:_hbRedirect('PDF Downloads','White Paper','URL.pdf','&c1=TITLE|US-en')関数を呼び出すため、何も起こりません。

于 2009-08-09T05:44:35.263 に答える