kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
阅读:1696回复:5

Nightly 9.0里面bookmarklets无法弹出窗口了

楼主#
更多 发布于:2011-08-23 16:05
比方说我一直使用的一个 “Google本站搜索” 的小书签:
javascript:q%20=%20%22%22%20+%20(window.getSelection%20?%20window.getSelection()%20:%20document.getSelection%20?%20document.getSelection()%20:%20document.selection.createRange().text);%20if%20(!q)%20q%20=%20prompt(%22%E8%AF%B7%E8%BE%93%E5%85%A5%E5%85%B3%E9%94%AE%E8%AF%8D:%22,%20%22%22);%20if%20(q!=null)%20{var%20qlocation=%22%20%22;qlocation=(%22http://www.google.com/search?num=100&hl=en-US&newwindow=1&q=site:%22%20+%20escape(location.hostname)+%22+%22+q+%22%22);window.open(qlocation);}%20void%200

点击这个书签,会打开输入框,输入关键词后会在新标签页中打开Google在本站搜索这些关键词。现在不行了,这个打开新标签页的操作被当作弹出窗口阻止了。新建的配置也一样,必须在阻止弹出窗口的信息条上选择打开这个标签页才行。不知道源代码中有没有可以修改的地方?

谢谢!
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
hoolooday
火狐狸
火狐狸
  • UID26508
  • 注册日期2008-10-02
  • 最后登录2015-05-22
  • 发帖数173
  • 经验11枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
1楼#
发布于:2011-08-23 16:05
不妨换一个试试
这个
javascript:Quix();function%20Quix(){var%20e=encodeURIComponent;var%20t=window.getSelection?window.getSelection():(document.getSelection?document.getSelection():(document.selection?document.selection.createRange().text:''));var%20c=window.prompt('Quix:%20Type%20`help`%20for%20a%20list%20of%20commands:');if(t!=''){if(c){c+='%20'+t;}else{c=''+t;}}if(c){var%20u='http://quixapp.com/go/?c='+e(c)+'&t='+(document.title?e(document.title):'')+'&s='+'&v=080'+'&u='+(document.location?e(document.location):'');d=''+document.location;if(d.substr(0,4)!='http'){window.location=u+'&mode=direct';}else{heads=document.getElementsByTagName('head');if(c.substring(0,1)=='%20'){var%20w=window.open(u+'&mode=direct');w.focus();}else%20if(heads.length==0){window.location=u+'&mode=direct';}else{q=document.getElementById('quix');if(q){q.parentNode.removeChild(q);}sc=document.createElement('script');sc.src=u;sc.id='quix';sc.type='text/javascript';void(heads[0].appendChild(sc));}}}}

搜索本站用
[quote]gs keyword[/qoute]
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
2楼#
发布于:2011-08-23 16:05
ls这个我添加了,然后点击,出来一个"type help to get a list of commands",然后不管输入help还是别的什么都没有打开任何标签页或窗口,也没有被阻止的信息出现。加关键字gs后地址栏用用“gs something”,出来还是Google搜索"gs something"。

--edit
OK我明白了这个是要调用某服务的,在我的RequestPolicy面前被阻止了,而且似乎是要转链接很多次,对这个服务的依赖似乎是很强啊而我只需要一个简单的功能。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
SoIN
小狐狸
小狐狸
  • UID35408
  • 注册日期2011-03-08
  • 最后登录2014-02-14
  • 发帖数82
  • 经验12枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
3楼#
发布于:2011-08-23 16:05
我输入楼主你的那个…并没有出现被档掉的问题…
并且用另一个算是空白的设置也无此问题

所以会不会是楼主的某些扩展或脚本转换的结果?
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
4楼#
发布于:2011-08-23 16:05
好的那我又得排查PREFS.JS了。

-edit
新建配置也这样……

已经确认bug了
https://bugzilla.mozilla.org/show_bug.cgi?id=679961
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
SoIN
小狐狸
小狐狸
  • UID35408
  • 注册日期2011-03-08
  • 最后登录2014-02-14
  • 发帖数82
  • 经验12枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
5楼#
发布于:2011-08-23 16:05
我一开始还很奇怪为什么我可以,然后刚刚重新一试,试出被档下来了
查了一下,竟然是我扩展中的Mozilla Labs: Prospector - Speak Words(一开始试Javascript时还没装这个,之后调扩展时想到才装上)

原因是什么我也不知道,反正若启动这个扩展,再用上面window.open,就会被挡下
反过来若禁用这扩展后,则又可以用了,所以这算是莫名奇妙的解法吗?


反正这也的确算是BUG没错…因为Speak Words也是Mozilla的官方实验室扩展…
游客

返回顶部