如何打开网页并运行一些JavaScript功能?

问题描述:

嗨我想打开一个页面,然后运行一些JavaScript函数。我的问题是,一旦我打开的窗口停止运行代码:如何打开网页并运行一些JavaScript功能?

javascript: 
location=("http://www.myTestPage.com/"); 
showForm(); 
document.getElementById("txtEmail").value="[email protected]"; 
submit(); 
+0

是否要在新窗口或当前窗口中运行JavaScript? – RichardOD 2009-10-24 08:12:13

location=("http://www.myTestPage.com/")开始导航到新的页面。你打算从哪里调用showForm()?如果是当前页面,我不明白你为什么要这样做?

虽然我怀疑你想打开一个新窗口,这将会跟随,是吗?

window.open("http://www.myTestPage.com/"); 
showForm(); 
document.getElementById("txtEmail").value="[email protected]"; 
submit(); 

补充:

我想你想的形式提交到服务器端的过程,也浏览到新的位置在同一时间。几种方法可以做到这一点:

  1. 提交表单,并让响应重定向到所需的位置

  2. asyncronously提交表单,之后转到新的一页

你不能。问题是每个页面都被加载到它自己的逻辑窗口中(即使该窗口在浏览器中占用与上一页相同的客户区域)。每个窗口都在自己的上下文中运行脚本。通常,当窗口被替换时,任何正在运行的脚本都会被终止,即使它不是我想要的位置分配之后的代码对新内容进行操作。

您需要目标页面才能为您运行代码。如果页面是通过PHP或ASP之类的动态生成的,那么你可以使用查询字符串来指定一个文件,页面应该指向它放在主体内容底部的脚本块的SRC。

这是因为你的javascript函数是在窗口对象中声明的。通过调用location =你可以销毁当前窗口对象及其中的所有函数。毕竟你不能在一个窗口中声明函数在同一个窗口中运行,而是在另一个位置运行。你所能做的就是打开一个新窗口。

这是因为该页面已转移到新位置。在移至其他位置之前先执行您的JavaScript。

这仅在JavaScript中可能,如果您在新窗口中打开第二页该页面托管在同一个域中(因为JavaScript具有相同域安全策略);否则,你必须按照别人的建议做,并让目标页面自己处理它。