noo*_*php 17 javascript jquery postmessage cross-browser
我有以下脚本
父页面(pair_pixel_filter.php):
window.addEventListener("message", function(e) {
$('#log').append("Received message: " + (e.data));
}, false);
$('.photo-upload-btn').click(function(event) {
event.preventDefault();
window.open($(this).attr("href"), "popupWindow", "width=600,height=600,scrollbars=yes");
});
Run Code Online (Sandbox Code Playgroud)
儿童页面
$.ajax({
type: 'post',
url: url,
data: {
base64data: dataURL
},
success: function(data) {
window.opener.postMessage(data, "pair_pixel_filter.php");
window.close(); }
});
Run Code Online (Sandbox Code Playgroud)
基本上打开Popup然后在弹出窗口上做一些ajax并将结果返回给父级.但是从Child我得到了这个错误.
未捕获的SyntaxError:无法在'Window'上执行'postMessage':调用'postMessage'时无效的目标原点'pair_pixel_filter.php'
Roc*_*mat 22
第二个参数postMessage是"目标原点".这是页面所在的域,而不是(php)文件的名称.
它需要是这样的:
window.opener.postMessage(data, "http://example.com");
Run Code Online (Sandbox Code Playgroud)
请参阅:https://developer.mozilla.org/en-US/docs/Web/API/Window.postMessage
| 归档时间: |
|
| 查看次数: |
38727 次 |
| 最近记录: |