2013-03-04 55 views
0

下面的程序可以在chrome中工作,但在firefox中無法正常工作,我需要刷新頁面,否則頁面將會空白!Javascript location.replace和iframe

Firefox會跳出商店窗口使用iframe不起作用,有辦法解決這個問題嗎?

謝謝大家!

var url = "/card/"+dl_path; 
SaveFrame.document.location.replace(url); 

<iframe id="SaveFrame" style="display: none"></iframe> 
+0

什麼是火箱? – Christoph 2013-03-04 10:12:03

+0

@Christoph這是* Firefox * – VisioN 2013-03-04 10:13:54

+0

@VisioN好吧,同樣的錯字兩次使它成爲一個選項,它是一個瀏覽器/ Chrome擴展/任何我還沒有遇到的東西;) – Christoph 2013-03-04 10:24:25

回答

1

如果你使用jQuery,你可以使用類似$('#saveFrame').attr('src', url)的東西。它應該適用於所有瀏覽器。

+0

是的,它可以工作,非常感謝你! – user1933513 2013-03-04 10:16:44

+0

我不認爲這應該是這個具體問題的答案,因爲這是一個基於jQuery的解決方案,OP要求提供JavaScript解決方案。無論如何,這個問題沒有用jQuery標記。沒有額外的闡述。 – WoIIe 2017-01-04 16:40:16

0

通過在全局範圍中隱式創建的變量來尋址元素是一種專有的「Internet Explorer」方式,最有可能在其他瀏覽器中不起作用(儘管Chrome由於兼容性原因而支持這種方式)。你應該總是任一地址通過DOM選擇方法的元素通過:

document.querySelector(id) 
// or 
document.getElementById(id) 

對於你的情況,這將是:

document.getElementId('SaveFrame').contentDocument.location.replace(url); 
// or 
document.getElementId('SaveFrame').src= url; 
+0

你的方法,只能在IE中工作,謝謝你的幫助! – user1933513 2013-03-05 02:05:36

1

嘗試

document.getElementById('SaveFrame').src="http://google.com/"; 
+0

你能否詳細說說一下? – guerda 2013-03-04 10:36:26

0

這應該工作,它是快速加載的網頁 它爲我工作...

onmouseover="window.open ('http://www.yourpage.com','YourTargetName'); this.onmouseover=null;" 


代碼「this.onmouseover = null;」意味着它應該只在加載時執行一次,並且不要在第二個鼠標上重複該屬性,如果希望它在第二個鼠標上重複該屬性,則刪除「this」。的onmouseover = NULL;」從代碼,使它看起來像這樣加載每次鼠標懸停:

onmouseover="window.open ('http://www.yourpage.com','YourTargetName');" 


例:

<a href="#" onmouseover="window.open ('http://www.yourpage.com','YourTargetName');"> 
My Link</a> 



或者試試這樣:

OnClick="window.open ('http://www.yourpage.com','YourTargetName');" 

示例:

<a href="#" OnClick="window.open ('http://www.yourpage.com','YourTargetName');"> 
My Link</a> 

<a href="javascript:window.open ('http://www.yourpage.com','YourTargetName');"> 
My Link</a> 

如果您希望使用window.location.replace不更新歷史加載頁面或框架,利用鏈接看起來像這樣的時候:

<a href="#" onclick="YourTargetName.location.replace ('http://www.YourPage.com');"> 
The targeted Link</a> 

<a href="javascript:YourTargetName.location.replace ('http://www.YourPage.com');"> 
The targeted Link</a> 


信息:對於此腳本所有onclickonmouseoveronmouseoutonloadhref="javascript:"會工作。



注:記住的iframe必須有名稱= 「YourTargetName」,例如是這個樣子:

<iframe id="SaveFrame" style="display: none" name="YourTargetName"></iframe> 


信息:window.openwindow.location.replaceYourTargetName.location.replace之間的區別在於:
- window.open加載在瀏覽器歷史記錄中。
- window.location.replaceYourTargetName.location.replace不會加載歷史記錄。