通过链接传递变量并在新页面中使用它们(JavaScript)?
问题描述:
我只知道在JavaScript的一些基本的东西,所以我需要一些帮助,这...通过链接传递变量并在新页面中使用它们(JavaScript)?
我想要做的是: 有一个链接,打开一个新的窗口,在该窗口中使用2个变量传递给编辑一些内容。将某些文本更改为第一个变量,并将该新窗口中的链接更改为第二个变量的值。
这可能吗?我不是在寻找确切的代码,只是我可以看到的任何资源都会很好。
谢谢。
答
虽然这在技术上可能是可行的,但它并不真正适合网络,并导致安全弱点和用户不希望的行为,并且浏览器可能会阻止。将每个浏览器窗口视为一个独立的应用程序。你最好在相同的页面/窗口内使用动态创建的div(或类似的)。
也许你可以解释更多关于为什么你认为你需要这个。
答
也许这将是有用的:http://papermashup.com/read-url-get-variables-withjavascript/ 我认为你正在努力完成更好地完成与服务器端脚本语言,如PHP。
答
是的,有可能通过打开AA子窗口:
var popup = open(URL, 'Title', 'width=1000,height=420,scrollbars');
然后你就可以在父窗口的打开一个被访问瓦尔:
parent.var = 'some value';
希望这正是你需要的。
答
我不知道,我已经明白你的意思到底是什么,但这里是一个脚本,它允许你编辑的新窗口中输入到老时,其中一个内容:http://jsfiddle.net/Jpt3C/3/
JS
var newWindow;
$('#foo').click(function() {
newWindow = window.open();
});
$('#bar').keydown(function() {
if (newWindow) {
newWindow.document.body.innerHTML = this.value;
}
});
HTML
<a href="#" id="foo">Click me</a>
<input type="text" id="bar" />
答
要打开窗口:
var myObject = new Object();
myObject.param1 = 'A';
myObject.param2 = 'B';
var windowPopup;
if(window.showModelessDialog){
windowPopup = window.showModelessDialog(path, myObject, '');
} else {
windowPopup = window.open(path, '_blank', '');
windowPopup.myObject = myObject;
}
要在新窗口中读取其中的内容:
var myObject = window.myObject;
if(!myObject){
if(window.dialogArguments){
myObject = window.dialogArguments;
}
}
alert(myObject.param1);
这是一个跨浏览器解决方案,适用于IE9。
也可以为第二个窗口传递回调。例如:
var myObject = new Object();
myObject.param1 = 'A';
myObject.param2 = 'B';
myObject.callback = function(param) {document.forms[0].field.value = param;}
当你在新的窗口中myObject的参考做:
myObject.callback('value from the new window');
值将在原来的窗口中改变。
好的,谢谢,我想我会避免这一点。 – DillPixel 2012-01-06 15:55:14