Javascript window.open后面的代码不';我不会被处决
我最近开始学习javascript,目前我正在尝试制作一个小脚本,通过填充用户名/密码字段,然后单击“提交”按钮来自动完成登录过程 我的代码如下:Javascript window.open后面的代码不';我不会被处决,javascript,Javascript,我最近开始学习javascript,目前我正在尝试制作一个小脚本,通过填充用户名/密码字段,然后单击“提交”按钮来自动完成登录过程 我的代码如下: window.open(""); document.getElementById('ctl00_Username').value = "XXXX"; document.getElementById('ctl00_Password').value="XXXX"; document.getElementById('ctl00_ButtonLogin').
window.open("");
document.getElementById('ctl00_Username').value = "XXXX";
document.getElementById('ctl00_Password').value="XXXX";
document.getElementById('ctl00_ButtonLogin').click();
如果我运行一次,网站将打开,但不会填充任何文本字段。如果我运行代码两次(当站点已经打开时),登录就成功了 我试着把“console.log”放在“window.open”之后,但由于某种原因,它似乎从未被调用过 我可能做错了什么 编辑:删除不必要的代码。我也不再确定document对象是否真的指向新打开的窗口。对“console.log”和“alert”的调用似乎也没有任何作用 是否可以从窗口获取正确的文档对象? 甚至可以使用“window.open”然后访问新的文档对象吗?
非常感谢您的帮助 对窗口的引用将从window.open调用返回,您可以使用它修改窗口
win=window.open(...);
win.document.doYourThing
您可能还需要等待文档准备就绪(即已加载)。在下面使用jquery
$(win.document).ready(function() {
//the document is loaded by here, this is probably where you should do your stuff.
});
1.将值作为查询字符串传递。例如:www.test.com?用户名=bro,密码=bro。 2.在另一页上粘贴以下代码
$(function () {
$(document).ready(function () {
var amount = $('money').val();
var from = "INR";
var to = "SGD";
$.ajax({ type: "POST",
url: "WebService.asmx/CurrencyConversion",
data: "{amount:" + amount + ",fromCurrency:'" + from + "',toCurrency:'" + to + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
var money = $(".money").val();
$(".money").replace(money, data.d);
}
});
});
});
3.现在也粘贴此代码
var uname = getUrlVars()["username"];
var psw = getUrlVars()["password"];
4.你将拥有上述变量中的值。享受你想做的一切。你不能。您应该将
“填充代码”
放入新文件(elogin/default.aspx)
,以便window.open-call和“填充代码”不能同时运行因为就像我在问题中写的那样;如果我运行两次脚本,一切正常。你的代码应该做什么?window.open打开一个新窗口,因此document=window.document
(这根本没有意义,document已经等于window.document)将获得当前窗口的document
属性,而不是您刚刚打开的属性。感谢您指出这一点!我的印象是,我需要从窗口“获取”一个新的文档对象。代码应该打开站点,更改请求文本字段的值,然后通过调用按钮的click()函数登录到站点。但是,在window.open之后,脚本似乎停止了。编辑:那么,我如何获得我刚刚打开的窗口的document属性呢?@Cethy据我所知,没有任何javascript可以做到这一点,除非您执行类似于window.open(url+”?feild1=“+myText)
的操作,但您必须知道目标站点的工作方式。我尝试了这一点,但jquery块中的代码从未触发,出于某些原因。这将仅适用于与其父窗口位于同一域上的新窗口。