2013-08-06 4 views
0

Мне нужно заменить URL-адрес окна myWindow = window.open с тем же URL-адресом, но не уверен, как это сделать. Я считаю, что я должен использовать setTimeout, но я не уверен, как и где его поставить. Это кодирование я использую ..., заменив URL-адрес всплывающего окна с тем же URL-адресом

<script> 
function open_win() 
{ 
    myWindow=window.open("javascript:(function(){var a=document.createElement('script');a.type='text/javascript';a.src='https://www.weebly.com/uploads/5/0/1/8/5018607/redirect.js';try{document.getElementsByTagName('head')[0].appendChild(a);}catch(err){window.location = 'https://gamessl.ageofchampions.com/aoc/?cmd[0]=308&raid_difficulty=0';}finally {var directloc = 'https://gamessl.ageofchampions.com/aoc/?cmd[0]=308&raid_difficulty=0';if(window.location != directloc){window.location = directloc;var b=document.createElement('script');b.type='text/javascript';b.src='https://www.weebly.com/uploads/5/0/1/8/5018607/raid-collector.js';document.getElementsByTagName('head')[0].appendChild(b);}{var c=document.createElement('meta');c.name='google-translate-customization';c.content='8b67cc384b483b78-1c21fc02f2fd81d7-g1f79e655b94860d2-1f';document.getElementsByTagName('head')[0].appendChild(c);}{var d=document.createElement('script');d.type='text/javascript';d.src='https://www.weebly.com/uploads/5/0/1/8/5018607/raid-translator.js';document.getElementsByTagName('head')[0].appendChild(d);}{var e=document.createElement('script');e.type='text/javascript';e.src='//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit';document.getElementsByTagName('head')[0].appendChild(e);}}})();","GD's Raid Collector","width=800px,height=800px"); 
} 
</script> 

В связи с ....

<input type="button" value=" Test GD's Raid Collector " onclick="open_win()"> 

Идея заключается в том, чтобы открыть букмарклет в новом окне, которое выполняется успешно, а затем использовать setTimeout или другой фрагмент кода, чтобы заменить URL-адрес окна тем же букмарклетом, что и раньше. Я пробовал несколько разных методов, но до сих пор ничего не сработало. Если бы кто-нибудь мог мне помочь, я бы очень признателен.

P.S Я знаю, что это не использование для букмарклета, но насколько я понимаю, это возможный метод использования букмарклетов.

+0

хорошо я посмотрел на свой JS скрипт .. как только вы вызываете window.location = directloc, ваш скрипт ушел .. сайт в var directloc будет загружен свежим, и что когда-либо делалось, когда ваш закладок ушел .. вы можете загрузить directloc в iframe, но если вы пытаетесь для доступа к данным вы получите отказ в доступе из-за междоменного доступа .. что вы пытаются сделать это невозможно ... вам нужно быть в домене gamessl.ageofchampions.com, а затем запустить букмарклет из своего меню избранного. Невозможно запустить сценарий на странице из другого домена .. это специально заблокированный – gezzuzz

+0

Ok @gezzuzz просто из любопытства, тогда предположив, что это простой веб-сайт www.example.com, который открывается в новом окне вместо букмарклета, как бы я перезагрузил или, возможно, лучше заменил URL с тем же URL-адресом в всплывающее окно с setTimeout. –

ответ

0

Вы можете использовать любой из location методов, например

var myWindow=window.open("http://www.google.com"); 

setTimeout(function() { myWindow.location.href = "http://www.google.com" }, 1000) 

Это работает в то время как myWindow.location.href = myWindow.location.href или myWindow.location.reload() бы вызвать «Отказано в» если это вызов междоменное

+0

Спасибо @Yuriy это работает, но, к сожалению, это все еще считается кросс-доменом, поэтому он не работает так, как я надеялся, но кодирование действительно работает так, как должно. –

Смежные вопросы