我使用此代码从弹出窗口中的字段获取值。
http://myotherwebsitename.com/parent.html
<input type="text" id="output"/>
<button id="show">Open</button>
<script>
document.getElementById('show').addEventListener('click', function(){
window['output'] = document.getElementById('output');
window.open('http://mywebsite.com/map.html')
});
</script>
<input type="text" id="user_text"/>
<input id="send" type='button' value'send'/>
<script>
document.getElementById('send').addEventListener('click', function(){
window.opener['output'].value = document.getElementById('user_text').value;
})
</script>
如果两者都托管在同一个网站上,它会很好地工作,但如果我将其中一个放在其他网站上,它就不起作用。
如何使其适用于不同的网站?
谢谢!
最佳答案
由于同源政策,您无法从其他网站获取信息。这是为什么的更好定义...
在计算领域,同源策略对于许多浏览器端编程语言(例如 JavaScript)来说是一个重要的安全概念。该策略允许在源自同一站点的页面上运行的脚本(方案、主机名和端口号的组合[1])访问彼此的 DOM,没有特定限制,但阻止访问不同站点上的 DOM。[1]同源策略也适用于 XMLHttpRequest 和 robots.txt。
http://en.wikipedia.org/wiki/Same-origin_policy .
希望这有帮助。我会看看是否能找到解决方法并通知您。
关于JavaScript:从弹出窗口获取值(外部网站),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20259604/