2015-02-05 109 views
0

guys我試過這個window.open("FirstPage.html", "_self");window.open("FirstPage.html";"_self");window.location.href="FirstPage.html";在同一個標​​籤中打開第二頁,但它什麼都沒有做......請幫忙? 這就是我稱之爲在javascript中打開同一個標籤的頁面firefox

function deleteCookie() { 
setCookie("userdata"," ", 1); 
setCookie("diff", " ", 1); 
window.open('FirstPage.html';'_self'); 
} 

,然後從onclcik

<button type="button" onclick="deleteCookie()">Forget Me</button></td> 
+0

你在iframe裏面嗎?你如何執行你的js? – 2015-02-05 17:32:47

+0

@Teemu我編輯了帖子..請看看:) – 2015-02-05 17:38:58

+0

但是你怎麼稱呼這個功能呢?從鏈接?從'onsubmit'處理程序?從'area' onclick。所有這些將阻止'window.location'工作,'open()'通常會在瀏覽器的彈出窗口阻止程序打開時失敗。 – Teemu 2015-02-05 17:42:21

回答

0

window.open打開一個新窗口,但使用_self參數,覆蓋當前頁面調用該函數。這樣做會停止執行當前的JavaScript線程,整個第一頁現在無效並被認爲是關閉的。

如果您需要有兩個頁面,則不能使用_self參數,該參數將打開新頁面以替換當前頁面。如果使用_self參數,則最終只有一個頁面,並且應在新頁面中包含deleteCookie()代碼。

你的另一個錯誤是在裏面有window.open();。分號應該用逗號替換,如第一個例子中所示。

您使用的window.location.href的實現應該是有效的,但對於防禦性編程,您可能需要重新創建URL以傳遞要打開的新HTML文件的完整路徑。

至於你的代碼onclick="deleteCookie()",你可能想用addEventListener替代它,這是一個僅用於javascript的實現。此外,您可以嘗試通過按下鍵盤上的「F12」並導航到JavaScript控制檯來打開大多數瀏覽器的調試面板。

相關問題