我想制作一个输入框,用一个按钮等将数据发送到新标签(和新页面)中的另一个输入框。 我搜索了很多(网址数据传输& ...),但仍然不知道。 我很欣赏任何起点或某事。 谢谢 ! 编辑:它们是具有不同域的不同站点。 编辑2:我没有任何访问权限来编辑接收者页面。
答案 0 :(得分:1)
您有数百万种选择。
您可以传递搜索参数,哈希,会话存储......
$('#send').on('click', function(e) {
window.open('http://jsfiddle.net/cnckfzpy/3/' + "?data=" + $("#sen").val(), "_blank")
});
Receiver Fiddle(不起作用,但是给出了实施)
$('#rec').val(window.location.search.split('data=')[1]);
这里使用搜索参数方法。但正如我所说,你有很多选择可供选择。
答案 1 :(得分:1)
直到我知道更多,我会说localstorage是你需要的:
http://www.codediesel.com/javascript/sharing-messages-and-data-across-windows-using-localstorage/
因此,一个窗口保存数据(使用JSON.stringify
),另一个窗口监听storage
事件并使用JSON.parse
解析该数据。此外,两个窗口可以一起发送和接收。
此处有更多信息 - https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage
2个标签的演示页 - http://html5demos.com/storage-events
答案 2 :(得分:0)
对于跨域消息,我建议您使用postMessage。
Browser support足够公平,API非常简单:
//create popup window
var domain = 'http://scriptandstyle.com';
var myPopup = window.open(domain + '/windowPostMessageListener.html','myWindow');
//periodical message sender
setInterval(function(){
var message = 'Hello! The time is: ' + (new Date().getTime());
console.log('blog.local: sending message: ' + message);
myPopup.postMessage(message,domain); //send the message and target URI
},6000);
//listen to holla back
window.addEventListener('message',function(event) {
if(event.origin !== 'http://scriptandstyle.com') return;
console.log('received response: ',event.data);
},false);
以上示例代码取自David Walsh的this article。