Перенаправление в FF при входе на какую-либо страницу, могу ли я предотвратить это с помощью некоторого кода JavaScript? - PullRequest
0 голосов
/ 07 октября 2011

Проблема заключается в следующем.Когда я захожу на какую-то страницу со своего сайта, щелкнув ссылку (браузер FF), я перенаправляюсь на нежелательный сайт.И всплывающее окно, где вы можете выбрать, остаться или покинуть сайт.Когда вы нажимаете «Я хочу остаться», окно снова появляется.Это происходит потому, что на сайте встроен следующий скрипт:

var exit = true;window.onbeforeunload = function () {
var goto_url = 'http://some site';if (exit == true) {
exit = false;window.location.replace (goto_url);
return «Специальное предложение: получите 2 за 1 цену!»;}}

Этого не происходит, когда я использую браузер IE8, тогда все в порядке.Возможно ли какое-либо решение в коде JavaScript?В противном случае, я могу заблокировать нежелательное перенаправление при входе на внешний сайт.Мне кажется, это должно быть какая-то ошибка, связанная с браузером FF.

Может кто-нибудь помочь мне с этой проблемой, потому что я пытался найти решение везде без удачи.

спасибо

Ответы [ 3 ]

0 голосов
/ 07 октября 2011

Хорошо, есть расширение Grease Monkey, работающее для тех, кто установил это расширение.Мне нужно предотвратить перенаправление для всех пользователей, которые будут переходить по ссылке (на моем сайте), ведущей на внешний сайт.Эта проблема намного сложнее.Я считаю, что есть какое-то решение для этого.Например, этот скрипт делает невозможным перенаправление после нажатия на ссылку на внешний сайт.Пользователь просто остается на моем сайте, когда внешний сайт пытается выполнить перенаправление.

var protect_bust = 0 window.onbeforeunload = function () {protect_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!"; } }

должен перенаправлять не когда я захожу на сайт, а когда я покидаю ее.Так что я не понимаю этого поведения, но мне нужно что-то сделать, просто взломать это как-нибудь.

0 голосов
/ 12 октября 2011

Можете ли вы дать мне пример кода, который может предотвратить внедрение JavaScript.Я очень забочусь об этом конкретном рекламодателе.Может быть, я должен открыть внешний сайт внутри фрейма или еще что-нибудь.Может быть, должен быть какой-нибудь скрипт php.Должен быть способ решить проблему, подобную этой.Невозможное возможно любым способом.

Я нашел коды просмотра в интернете, но не знаю, как это работает.

для примера:

1.

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

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.

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

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>

Так что любые дополнительные предложения.Спасибо за интерес.

0 голосов
/ 07 октября 2011

Это невозможно сделать строго через JavaScript, поскольку Firefox не имеет встроенного способа перехвата JavaScript другого веб-сайта при загрузке.

Тем не менее, есть еще один вариант, который может работать для вас, даже проще, чем написание собственного JavaScript:

http://www.bala -krishna.com / как к блочно-сайт-Перенаправление-из-FireFox-браузер / Во-первых, я бы порекомендовал попробовать эту ссылку, и проверка ваших настроек установлена. Это, вероятно, уже будет отмечено, и если это так, снятие отметки не поможет. Но если нет, попробуйте сначала включить это поле и посмотрите, поможет ли это.

Если нет, вы можете попробовать это расширение Firefox: https://addons.mozilla.org/en-US/firefox/addon/noredirect/

Это позволит вам блокировать перенаправления всех сайтов или только те, которые вы выберете.

...