我为我的网站设计了bookmarklet。因此,使用iframe创建的书签。 iframe和iframe源在脚本中声明。
我已设置关闭按钮,并为我的源页面声明了回调函数,但它不起作用。
单击关闭按钮
显示以下错误。
(DOMException:在HTMLButtonElement.onclick(http://localhost:8050))中阻止了一个包含原点" http://localhost:8050/researcher_voice/iframe.html:19:172"的帧来访问一个跨源帧。
小书签:
<a class="article-bookmark" href="javascript: (function(){
var iframeSrc = 'http://localhost:8050/researcher_20voice/iframe.html';
var iframeStyle = 'position: fixed; z-index: 999999; width: 500px; height: 300px; left:300px; right: 0; top: 200px; border: none; overflow: hidden; background-color: black';
var iframe = document.createElement('iframe');
iframe.setAttribute('src', iframeSrc);
iframe.setAttribute('id', 'kew-modal');
iframe.setAttribute('style', iframeStyle);
var body = document.getElementsByTagName('body')[0];
body.appendChild(iframe);
}).call(this);">Bookmarklet</a>
关闭按钮:
function closeIframe() {
var iframe = document.getElementById('id');
iframe.parentNode.removeChild(iframe);
}
答案 0 :(得分:0)
我也遇到了这个问题,就像Pinterest的Pin It一样创建了一个书签。
我可以解决跨域问题的唯一方法是在ifit上的页面和GitHub上的此示例后的父页面之间发布事件:
https://gist.github.com/kn0ll/1020251
我在另一个帖子上发了一个答案: https://stackoverflow.com/a/43030280/3958617
还在另一个帖子上找到了另一个例子: https://stackoverflow.com/a/21882581/3958617
希望它有所帮助!