在猴子脚本里使用responseXML
本文按署名·非商业用途·保持一致授权作者:
,发表于2008年11月29日00时01分
今天要实现一个猴子脚本,结果发现利用GM_xmlhttpRequester无法获取responseXML。我去看了猴子的代码,在chromeFiles/content/xmlhttprequester.js里写到:“can’t support responseXML because security won’t let the browser call properties on it”。我到现在都没想明白为什么这里会有安全性的问题。既然能返回responseText,为什么就不能返回responseXML呢?难道是Firefox的XML解析器在这一环节存在安全隐患?
差点想放弃通过猴子脚本来实现我想要的功能了,没想到在准备关掉所有和猴子有关的vim窗口和文档窗口的时候,我发现了一个可以变相获得responseXML的方法:responseXML=new DOMParser().parseFromString(r.responseText,’text/xml’)。我更糊涂了,既然我能这样获得responseXML,那么Firefox的开发人员所认为的安全问题,到底又是什么?
终于还是完成了这个小脚本,大家可以去userscript下载:http://userscripts.org/scripts/show/37744。
我还顺便写了Firefox扩展形式的,不使用猴子的朋友,可以下载这个:http://www.liulanqi.org/Firefox/verydou。
这个脚本/扩展的作用,就是在豆瓣的电影音乐书籍页面显示VeryCD的相关资源。

2008-11-29 15:08:54
装了扩展,跑到豆瓣上看到了效果,不得不说:牛!
这个东西很实用^_^