0

最好的同事,

我为 IE 创建了一个书签,并遇到了以下问题。当用户在书签工具栏中拖动我的书签并单击它时,如果用户想要允许弹出窗口,IE 会显示一个对话框。但是 Pinterest 可以避免这种情况,有人可以告诉我 pinterest 如何找到解决该问题的方法吗?

我的外部 js 文件如下所示:

function Bookmarker(){
    initialize();
}

function initialize(){
    var url = document.location.href;
    loadBookMarkLet(url);
}


function loadBookMarkLet(url) {


    newwindow = window.open('http://bookmarker.symbaloo.com/?url='+encodeURIComponent(url),'Bookmarklet','toolbar=no,width=550,height=330,left=500,top=200, status=no,scrollbars=no,resize=no');
    setTimeout(function() {
        newwindow.focus();
    }, 0);

}

new Bookmarker();

我的 index.html 文件看起来像:

<a href="javascript:(function(){script=document.createElement('SCRIPT');script.type='text/javascript';script.src='http://navidmirzaie.com/bookmarklet/default.js?x='+(Math.random());document.getElementsByTagName('head')[0].appendChild(script);})();" icon="bookmarker_icon.ico">Symbaloo Bookmarklet</a>

我将不胜感激。

Tnx 在高级。

4

1 回答 1

1

这个问题一般有两种处理方式。

1.) 不要使用窗口,而是在页面中创建一个 div。div 可以选择包含 iframe。

2.) 如果操作直接来自用户发起的操作,则可以在大多数浏览器中打开一个窗口而不会发出警告。

如果小书签先附加一个脚本文件,然后脚本文件中的代码打开窗口,这不是直接的。

但是,如果小书签代码本身打开窗口,这是直接的。这将起作用。

混合解决方案可能是让小书签打开窗口,然后附加一个脚本文件。附加脚本文件中的代码然后可以使用已经打开的窗口。

如果您的示例代码接近您真正想要使用的,我会直接在书签中使用它并跳过附加外部文件的步骤。

于 2013-10-24T13:29:29.617 回答