嗨我想打開一個頁面,然後運行一些JavaScript函數。我的問題是,一旦我打開的窗口停止運行代碼:如何打開網頁並運行一些JavaScript功能?
javascript:
location=("http://www.myTestPage.com/");
showForm();
document.getElementById("txtEmail").value="[email protected]";
submit();
嗨我想打開一個頁面,然後運行一些JavaScript函數。我的問題是,一旦我打開的窗口停止運行代碼:如何打開網頁並運行一些JavaScript功能?
javascript:
location=("http://www.myTestPage.com/");
showForm();
document.getElementById("txtEmail").value="[email protected]";
submit();
location=("http://www.myTestPage.com/")
開始導航到新的頁面。你打算從哪裏調用showForm()
?如果是當前頁面,我不明白你爲什麼要這樣做?
雖然我懷疑你想打開一個新窗口,這將會跟隨,是嗎?
window.open("http://www.myTestPage.com/");
showForm();
document.getElementById("txtEmail").value="[email protected]";
submit();
補充:
我想你想的形式提交到服務器端的過程,也瀏覽到新的位置在同一時間。幾種方法可以做到這一點:
提交表單,並讓響應重定向到所需的位置
asyncronously提交表單,之後轉到新的一頁
你不能。問題是每個頁面都被加載到它自己的邏輯窗口中(即使該窗口在瀏覽器中佔用與上一頁相同的客戶區域)。每個窗口都在自己的上下文中運行腳本。通常,當窗口被替換時,任何正在運行的腳本都會被終止,即使它不是我想要的位置分配之後的代碼對新內容進行操作。
您需要目標頁面才能爲您運行代碼。如果頁面是通過PHP或ASP之類的動態生成的,那麼你可以使用查詢字符串來指定一個文件,頁面應該指向它放在主體內容底部的腳本塊的SRC。
這是因爲你的javascript函數是在窗口對象中聲明的。通過調用location =你可以銷燬當前窗口對象及其中的所有函數。畢竟你不能在一個窗口中聲明函數在同一個窗口中運行,而是在另一個位置運行。你所能做的就是打開一個新窗口。
這是因爲該頁面已轉移到新位置。在移至其他位置之前先執行您的JavaScript。
這僅在JavaScript中可能,如果您在新窗口中打開第二頁和該頁面託管在同一個域中(因爲JavaScript具有相同域安全策略);否則,你必須按照別人的建議做,並讓目標頁面自己處理它。
是否要在新窗口或當前窗口中運行JavaScript? – RichardOD 2009-10-24 08:12:13