2013-08-06 21 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,它在一個新窗口中打開而不是在bookmarklet中,我將如何重新加載,或者可能更好地替換,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.hrefmyWindow.location.reload()會導致「權限被拒絕」如果它是一個跨域調用

+0

謝謝@Yuriy它的工作原理,但遺憾的是它仍然被認爲是跨域的,所以它不會像我希望的那樣工作,但是編碼確實按照它應該的工作。 –