2013-10-24 54 views
0

Best Collegue,如何阻止IE浏览器阻止弹出窗口的小册子与pinterest相同

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

我的extern 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> 

我会非常gratefull。

Tnx in advanced。

回答

1

这个问题通常有两种处理方式。

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

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

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

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

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

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

+0

非常感谢你,我会试试:) – Navid

相关问题