请教一个关于Chrome插件开发的问题

2013-07-12 17:55:51 +08:00
 lerry
我想做一个插件,实现这样的功能,访问QQ音乐电台(fm.qq.com)的时候,在页面上,或者点击插件按钮时显示一个下载按钮,可以下载当前播放的歌曲。

进展

我已经知道通过

$.qPlayer.playList.getSongInfoObj().songurl

或者

document.getElementsByTagName('audio')[0].src

可以获取到url,但是看文档说插件是不能访问其他脚本的变量的,所以就拿不到数据,请教此类问题解决办法。
恩,后端选手初学js,轻拍。
3975 次点击
所在节点    JavaScript
11 条回复
wong2
2013-07-12 18:24:01 +08:00
插件可以访问DOM啊,于是可以用第二种方法得到那个url吧
chemhack
2013-07-12 18:26:41 +08:00
用content_script, 然后在manifest加上权限即可
ytzong
2013-07-12 19:05:33 +08:00
写了个 userscript http://userscripts.org/scripts/show/88597
代码有点乱,但是能跑起来
pubby
2013-07-12 20:05:19 +08:00
自己用的话没必要写插件吧,

在书签栏添加网页,地址写上:
javascript:(function(d,id){var x=d.getElementById(id);if(!x){x=d.createElement('div');x.id=id;d.body.insertBefore(x,d.body.firstChild);} x.innerHTML = $.qPlayer.playList.getSongInfoObj().songurl;})(window.document,'su00');

就ok了。想看mp3地址直接点一下
lerry
2013-07-12 22:18:58 +08:00
@pubby 打算给妹子用的...我自己直接用Chrome就看了
seeker
2013-07-12 22:57:02 +08:00
用“声海盗”。我写的,http://fm.qq.com/ 这个网址还不支持给文件命名,下个版本做。
WebStore地址:https://chrome.google.com/webstore/detail/%E5%A3%B0%E6%B5%B7%E7%9B%97/idleenniidjlnmnjkjmmnocnkmjibadd
miniwade514
2013-07-13 00:32:47 +08:00
给妹子用? 直接装这个好了, 音频、视频、Flash 都抓 ...

用 content script 是可以和 DOM 交互的。
miniwade514
2013-07-13 00:33:24 +08:00
jesse_luo
2013-07-13 01:15:29 +08:00
搞底软的写js路过…别怕…
问题上面大神们都回答了……
cyfdecyf
2013-07-13 10:34:09 +08:00
可以向特定的页面注入 js,在 Chrome 中这个叫做 Content Scripts http://developer.chrome.com/extensions/content_scripts.html

Content Scripts 在网页的 DOM 中执行,如果需要跟插件通信需要使用 Message Passing http://developer.chrome.com/extensions/messaging.html
lerry
2013-07-14 01:52:02 +08:00
@seeker 我当时搜了同类插件,看到的就是这个,没想到在这里能遇到作者啊

多谢各位的解答

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/75584

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX