3

JavaScript を使用して、サイトのユーザーがテーブル行の任意の場所をクリックして、行のレコードの URL にアクセスできるようにしています。location.hrefユーザーが現在のタブの背後にある新しいタブでページを開こうとすると、JavaScript がブラウザーの通常の動作を妨げることを除いて、設定は正常に機能しShift+Clickます。この厄介な副作用なしに JavaScript でページを変更するにはどうすればよいですか?

4

2 に答える 2

1

これはブラウザーの動作であり、どのような方法でも複製することはできません。多くの回避策は、Shift キーの押下を検出して window.open を実行するか<a/>、各セルの内容をすべて囲む要素を挿入し、mousedonw で href を動的に変更することですが、すべて見苦しいパッチです。これは、JavaScript が DOM を操作するためにほとんどすべてのことを実行できるにもかかわらず、DOM と対話するときに一般的にトリガーされるブラウザー アクションを実行できないという状況に直面する多くの状況の 1 つです。

于 2013-01-11T08:20:38.117 に答える
0

ターゲット属性を訴えて新しいインスタンスにすることしか言えないと思いますが、新しいインスタンスが新しいブラウザウィンドウであるか単なるタブであるかは完全にブラウザ次第です。また、それがタブである場合もブラウザ次第です。バックグラウンドタブにするか、アクティブ化/前面に移動します。特定のブラウザ/ブラウザプラグインには、動作を変更できる設定さえあることを思い出すことができます。

于 2013-01-11T08:11:55.120 に答える