2013-10-24 55 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

相關問題