0

問題は次のとおりです。リンク (FF ブラウザー) をクリックして自分のサイトからページに入ると、不要なサイトにリダイレクトされます。そして、サイトにとどまるか、サイトを離れるかを選択できるウィンドウがポップアップ表示されます。[I want to stay] をクリックすると、ウィンドウが再びポップアップ表示されます。これは、サイトに次のスクリプトが組み込まれているために発生します。

var exit=true; window.onbeforeunload = function () {
var goto_url = 'http://some site'; if(exit==true){
exit=false; window.location.replace(goto_url);
return " 特別オファー: 1 つの価格で 2 つゲット!"; } }

これは、IE8 ブラウザーを使用している場合には発生せず、すべて問題ありません。JavaScriptコードで解決策はありますか? それ以外の場合は、外部サイトに入るときの不要なリダイレクトをブロックできますか? これは FF ブラウザに関連する何らかのバグに違いないと思います。

運が悪くてどこでも解決策を見つけようとしたので、誰かがこの問題を手伝ってくれませんか。

ありがとう

4

3 に答える 3

0

javascriptの挿入を防ぐことができるコードの例を教えてください。私はこの特定の広告主をとても気にかけています。たぶん私はフレームの内側か何かの外部サイトを開く必要があります。たぶん、いくつかのphpスクリプトが必要です。このような問題を解決する方法が必要です。不可能はとにかく可能です。

インターネットでビューコードを見つけましたが、どのように機能しているかわかりません。

例えば:

1.1。

<script type="text/javascript">
if(top != self) {
top.onbeforeunload = function() {};
top.location.replace(self.location.href);
}
</sript>

2.2。

<script type="text/javascript">
var prevent_bust = 0  
var id = setInterval(function() {  
if (prevent_bust > 0) {  
prevent_bust -= 2  
window.top.location = 'somesite_com.htm';  
}  
}, 1)                 
window.onbeforeunload = function() { prevent_bust++ }  
window.onclick = function() { clearInterval(id)}
</script>

3.3。

<script type="text/javascript">
<!-- 
if (parent != self  && !/^http:\/\/((www\.)|())somesite\.host>
\.com/.test(top.location.href))
top.location.replace(self.location.href);
// -->
</script>

4.4。

<script>
javascript:void(d=document);if(frames.length){alert('Script%20doesn/'t%20work%20in%20frames');}
else{while((el=d.getElementsByTagName('script')).length){el[0].parentNode.removeChild(el[0]);};onerror=function(){};d.close();}
</script>

だから、これ以上の提案。おもしろいありがとう。

于 2011-10-12T14:25:39.077 に答える
0

わかりました、そのエクステンションをインストールした人のために働く「グリースモンキー」エクステンションがあります。外部サイトにつながるリンク (私のサイト) をクリックするすべてのユーザーのリダイレクトを防ぐ必要があります。この問題はもっと複雑です。これには何らかの解決策があると思います。たとえば、このスクリプトは、外部サイトへのリンクをクリックした後にリダイレクトすることを不可能にします。外部サイトがリダイレクトしようとすると、ユーザーは自分のサイトにとどまります。

var prevent_bust = 0 window.onbeforeunload = function() { prevent_bust++ } setInterval(function() { if (prevent_bust > 0) { prevent_bust -= 2 window.top.location = 'my site.html' // iframe をリンクに置き換えますそれに } }, 1)

というわけで、外部サイトの振る舞いを何とかコントロールすることが可能です。ここで、このスクリプトを変更する必要があります。これにより、代わりに不要なサイトにリダイレクトされ、正しいサイトに到達できるようになります。

もう一つ。問題は、このスクリプトを使用しているサイトで、

> var exit=true; window.onbeforeunload = function () {
> var goto_url = 'http://some site';
> if(exit==true){
> exit=false; window.location.replace(goto_url);
> return " Special Offer: Get 2 For 1 Price!"; } }

サイトに入ったときにリダイレクトするべきではありませんが、彼女を離れるときにリダイレクトする必要があります。だから私はこの振る舞いを理解していませんが、何かをする必要があります.何とかこれをハックしてください.

于 2011-10-07T14:49:18.310 に答える
0

Firefox には、ロード時に別の Web サイトの JavaScript をインターセプトするネイティブな方法がないため、これは JavaScript を介して厳密に行うことはできません。

とはいえ、独自の JavaScript を作成するよりも簡単な別のオプションがあります。

http://www.bala-krishna.com/how-to-block-website-redirection-from-firefox-browser/ まず、このリンクを試して、設定が設定されていることを確認することをお勧めします。これはおそらく既にチェックがオフになっているはずです。ただし、そうでない場合は、まずこのフィールドを有効にしてみて、それが役立つかどうかを確認してください。

そうでない場合は、次の Firefox 拡張機能を試すことができます: https://addons.mozilla.org/en-US/firefox/addon/noredirect/

すべてのサイトのリダイレクトをブロックすることも、選択した特定のリダイレクトのみをブロックすることもできます。

于 2011-10-06T21:34:35.697 に答える