标签 JavaScript 下的文章

两种方式语义是一样的,不过后一种属性的名称被看作字符串,可以更好的避免和 JS 里预留关键词冲突。

obj.for = "Simon"; // 语法错误,因为 for 是一个预留关键字
obj["for"] = "Simon"; // 工作正常

不过在定义属性时也最好不要用预留关键词!

今天在博客园看到的,通过反编译播放器找到解码音乐资源的地址的算法。

算法这里就不多解释了,原文有分析,这里说一下获取“加密”地址的过程:

1.进入单首歌曲介绍页,比如 http://www.xiami.com/song/1768914936 ,地址后面的数字就是歌曲的 id

2.根据 id 找到包含歌曲相关信息的 xml 文件地址,例如 http://www.xiami.com/song/playlist/id/1768914936/object_name/default/object_id/0

3.载入 xml ,获取 location 节点的内容,就是“加密”的地址

- 阅读剩余部分 -

Opera 扩展包括有“后台脚本”、“注入脚本”、“弹窗脚本”等,所谓“消息”,各脚本间的数据传递就是通过消息实现的。

Opera 扩展发送消息的方式有3种,postMessage()/broadcastMessage()/消息通道。

例如在后台脚本和注入脚本之间传递数据:

可以使用 broadcastMessage() 来发送消息。你可以在后台脚本中这样写:

opera.extension.broadcastMessage("Hello there");

- 阅读剩余部分 -