创建一个未被阻止的书签

时间:2010-07-02 03:27:58

标签: javascript popup bookmarklet

目标:创建一个书签,调用远程javascript文件打开弹出窗口。弹出窗口在功能上类似于Delicious的bookmarklet。

背景:目前,我在这个javascript文件中使用window.open,但弹出窗口几乎被所有主流浏览器阻止。

替代解决方案与Delicious编写书签的方式非常相似 - 通过书签本身内的javascript查询调用window.open。但是,我需要能够在将来修改我的javascript文件的其他内容,而无需用户不断获取最新版本的书签。

我决定要发生什么:由于用户点击后,window.open调用没有直接直接,浏览器会感觉到这一点是应该被阻止的东西。这是a source

This是我最近在创建对远程js文件的调用时引用的教程。

这是我的代码正在做的基本示例; window.open/popup部分是我所包含的唯一重要部分,因为它是我认为导致复杂化的唯一部分:

远程javascript文件的示例:

if (typeof jQuery == 'undefined') {
    var jQ = document.createElement('script');
    jQ.type = 'text/javascript';
    jQ.onload=runthis;
    jQ.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js';
    document.body.appendChild(jQ);
} else {
    runthis();
}

function runthis() {
    window.open('http://www.google.com/', 'a title',
       'location=yes,links=no,scrollbars=no,toolbar=no,width=550,height=550');
}

我真的很感激任何帮助,因为这一直困扰我一段时间!

1 个答案:

答案 0 :(得分:0)

看起来更好并且阻止阻塞问题的方法是让书签在用户当前正在查看的页面中插入iframe。当我问这个问题时,结束了这种方法。工作得很好。