7

Mac OS 10.7 で最新バージョンの Chrome を使用しています。

この Web ページの人々を有効にしているのは、巧妙な JavaScript であると思います。

http://www.chairworks.com/

...最初に彼らの (chairworks.com) ページを開いた私の (親) ページを閉じます。私はjavascriptでそれらを開いたのではなく、属性を持つ<a>タグで開きました。target="_blank"

JavaScript を無効にすると、動作が停止します。

<a href="http://www.chairworks.com" target="_blank">www.chairworks.com</a>

私は chairworks.com/ のページが別のタブ/ウィンドウで開くことを期待しています...しかし、私が見つけたのは、新しいブラウザー タブが開くとすぐに閉じ、次に私のページ (親タブ/ウィンドウ) です。 chairworks.com ページにリダイレクトされます。

ちょっと失礼。

誰かがそれを可能にするコードを教えてもらえますか? どうすればそれを防ぐことができますか?(私のデモページのように、リンクが期待どおりに動作することを前提としています。)

4

3 に答える 3

2

This is the script they are using:

setTimeout('redirect_page()',0);
function redirect_page(){if (window.opener) { window.opener.location.href = '/home.html'; window.close(); } else { location.href = '/home.html'; }}

As to how to circumvent it (just an idea):
Create your own blank page, with it's source set to about:blank. When it loads (or after a time-out) you could write some code to that window that will then open the offending link. Then the offending link just closes your buffer-page. F*ck 'm!! Power to the user!

Edit: looks like you could also name your page home.html hehe, but that is not such a workable solution..

Final Edit: SIMPLE LOGIC people...
<a href="http://www.chairworks.com/home.html" target="_blank">www.chairworks.com</a>
works for everyone, no javascript needed.
See this working jsfiddle example.

于 2012-08-18T06:46:22.370 に答える
1

@GitaarLAB が説明したように、ターゲットの Web サイトはwindow.openerプロパティを使用してページにアクセスしています。自分で Javascript を使用about:blankし、途中でページを使用すると、ページへのアクセスをカットするのに役立ちます。次のようになります。

 <a href="http://www.chairworks.com/" target="_blank" onclick="var w = window.open('about:blank'); w.opener = null; w.open('http://www.chairworks.com/'); return false;">http://www.chairworks.com/</a>

いくつかのメモ:

  1. hrefJS が有効になっていないユーザー (対象の Web サイトには JS もありません! ;)、または検索エンジンのような Web クローラー (ただし、JS を気にしないユーザーのみ) のために、プロパティをそこに残しています。 )
  2. window.openerターゲットの Web サイトにリダイレクトする前に、新しいウィンドウの属性をリセットしてバックリンクをカットします。
  3. また、対象の Web サイトを開いた後return false;、通常のブラウザでhrefおよびtarget属性を使用できないようにするための があります。
于 2012-08-18T07:10:13.710 に答える