Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript chrome扩展通过共享本地存储将多条消息传递到外部站点_Javascript_Google Chrome Extension_Local Storage_Postmessage - Fatal编程技术网

Javascript chrome扩展通过共享本地存储将多条消息传递到外部站点

Javascript chrome扩展通过共享本地存储将多条消息传递到外部站点,javascript,google-chrome-extension,local-storage,postmessage,Javascript,Google Chrome Extension,Local Storage,Postmessage,** 决心 ** 我正在开发一个chrome扩展。通过阅读stackoverflow,我能够在不同的域之间共享本地存储,并将数据从扩展发送到我的外部站点 但是,我想做的是向外部站点发送多条消息。如何调整我使用的代码?对不起,我对js不是很熟悉 这是popup.html->extension上的代码(功能完美) 这是外部站点->接收器上的代码 window.onload=function(){ var messageEle=document.getElementById('message');

**

决心

**

我正在开发一个chrome扩展。通过阅读stackoverflow,我能够在不同的域之间共享本地存储,并将数据从扩展发送到我的外部站点

但是,我想做的是向外部站点发送多条消息。如何调整我使用的代码?对不起,我对js不是很熟悉

这是popup.html->extension上的代码(功能完美)

这是外部站点->接收器上的代码

window.onload=function(){ var messageEle=document.getElementById('message');

window.addEventListener('message',receiveMessage);
function receiveMessage(e){
    if(e.origin!=="chrome-extension://ldjfmalmmomhpjmoeemlaingagdhagjl")
    return;
    messageEle.value = e.data;
}
}
我需要的是发送更多的

   receiver.postMessage(document.getElementById('D1').value, 'http://externalsite');
例如

receiver.postMessage(document.getElementById('D1').value, 'http://externalsite');
receiver.postMessage(document.getElementById('D2').value, 'http://externalsite');
receiver.postMessage(document.getElementById('D3').value, 'http://externalsite');

非常感谢您帮助他人,我用这种方式解决问题

receiver.postMessage(document.getElementById('D1').value, 'http://externalsite');
receiver.postMessage(document.getElementById('D2').value, 'http://externalsite');
receiver.postMessage(document.getElementById('D3').value, 'http://externalsite');
在popup.html扩展代码中

window.onload = function() {
    var receiver = document.getElementById('receiver').contentWindow;
    var data = {
        domanda1: (document.getElementById('D1').value),
        domanda2: (document.getElementById('D2').value),
        domanda3: (document.getElementById('D3').value)
};

    var btn = document.getElementById('send');

    function sendMessage(e) {
        e.preventDefault();

        receiver.postMessage(data, 'externaldomain');

    }

    btn.addEventListener('click', sendMessage);
}
在接收器页面中-外部站点-带有代码

window.onload=function(){
    var domanda1=document.getElementById('domanda1');
    var domanda2=document.getElementById('domanda2');
    var domanda3=document.getElementById('domanda3');

    window.addEventListener('message',receiveMessage);
    function receiveMessage(e){
        if(e.origin!=="chrome-extension://ldjfmalmmomhpjmoeemlaingagdhagjl")
        return;
        domanda1.value = e.data.domanda1;
        domanda2.value = e.data.domanda2;
        domanda3.value = e.data.domanda3;
    }
}

ps=感谢wOxxOm的帮助

发送对象,如
{id:'D1',value:document.getElementById('D1').value}
感谢您的回复,您能给我一个代码示例吗?