我是一个相当新的程序员,我需要一个如何使这成为可能的建议,
我的目标是能够在新窗口中打开一个新网站,例如google.com,并在搜索输入框中输入一个字符串,而无需用户执行任何操作。
我已经看了很多想法如何实现,但似乎没有找到我可以使用的解决方案。
我做了一个触发这个javascript函数的按钮:
function OpenPopupCenter() {
pageURL = 'http://www.google.com';
title = 'temp title';
w = (window.outerWidth * 0.67);
h = (window.outerHeight * 0.80);
var dualScreenLeft = typeof window.screenLeft !== "undefined" ? window.screenLeft : screen.left;
var dualScreenTop = typeof window.screenTop !== "undefined" ? window.screenTop : screen.top;
var width = window.innerWidth ? window.innerWidth :
document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;
var height = window.innerHeight ? window.innerHeight :
document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;
var left = ((width / 2) - (w / 2)) + dualScreenLeft -125;
var top = ((height / 2) - (h / 2)) + dualScreenTop;
var newWindow = window.open(pageURL, title, 'scrollbars=yes, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);
$(newWindow).ready(function () {
$("#lst-ib").val("Hello World");
});
窗口打开显示谷歌,但我无法通过id lst-ib定位输入框并将字符串“Hello World”插入其中,我做错了,任何人都可以指引我找到正确的解决方案或想出一个可能有用的。
答案 0 :(得分:0)
在您的方案中,由于Same-origin policy,这是不可能的。引用相关信息:
根据该政策,网络浏览器允许第一个网页中包含的脚本访问第二个网页中的数据,但前提是这两个网页具有相同的来源
这是出于安全原因。如果没有该政策,任何人都可以(例如)编写一个脚本,打开您的银行帐户网站并将所有资金转移给他们。
答案 1 :(得分:0)
下面。当 Google 想要搜索某些内容时,它会使用基本网址:http://google.com/search?q=。它在' =' 之后搜索的是用' +&替换 [空格] #39; 即可。如果我想查找'遗传算法' ,我会删除空格并用' +' 因此,它变成' Genetic + Algorithm' 。然后我会加入这与基本网址,所以' http://google.com/search?q=Genetic+Algorithm'这将是最终的结果。除了'搜索?q =' 之外,还有其他一些功能,例如添加'& source = lnms& tbm = isch& sa' 到最后使它进行图像搜索。您可以使用许多不同的标签用于不同的目的。我希望这有帮助。