阅读:1928回复:8
downloadSoundPlay脚本声音文件怎样设置路径跟随配置文件夹
这是脚本参数
var downloadPlaySound = { // -- config -- DL_START : null, DL_DONE : "file:///C:/FF28/downfinished.wav", DL_CANCEL: null, DL_FAILED: null, // -- config --想将声音文件放到火狐配置文件夹根目录下,设置为全路径的话好办,file:///C:/FF28/downfinished.wav,但是我每次升级火狐,都新设一个配置文件夹,如升级到29,配置文件夹就会改名为FF29,这样的话,脚本也得修改路径,想问问有没有类似 %Windir% %SystemRoot% 这样的能代替file:///C:/FF28的参数?谢谢! |
|
1楼#
发布于:2014-04-12 13:21
playSoundFile: function(aFilePath) { var ios = Components.classes["@mozilla.org/network/io-service;1"] .createInstance(Components.interfaces["nsIIOService"]); try { var uri = ios.newURI(aFilePath, "UTF-8", null); } catch(e) { return; } var file = uri.QueryInterface(Components.interfaces.nsIFileURL).file; if (!file.exists()) return; this.play(uri); },你可以把脚本上面的播放方法改成 playSoundFile: function(uri) { this.play(uri); },然后用base64串替代路径 |
|
|
2楼#
发布于:2014-04-12 13:51
|
|
3楼#
发布于:2014-04-12 15:28
var {classes:Cc, interfaces:Ci} = Components; var ProfD = Cc['@mozilla.org/network/io-service;1'].getService(Ci.nsIIOService2).newFileURI(Cc["@mozilla.org/file/directory_service;1"].getService(Ci.nsIProperties).get("ProfD", Ci.nsIFile)).spec; var downloadPlaySound = { // -- config -- DL_START : null, DL_DONE : ProfD + "downfinished.wav", DL_CANCEL: null, DL_FAILED: null, // -- config --改成上面那样 其中ProfD就是当前配置的路径即:“file:///C:/FF28/”。 更多的“相对路径”参考 https://developer.mozilla.org/en-US/Add-ons/Code_snippets/File_I_O#Getting_files_in_special_directories |
|
4楼#
发布于:2014-04-12 16:24
|
|
5楼#
发布于:2014-04-12 16:53
|
|
6楼#
发布于:2014-04-12 19:24
|
|
7楼#
发布于:2014-04-12 19:25
|
|
8楼#
发布于:2014-04-12 19:56
tulip17:【用base64串替代路径 】能详细说说吗?回到原帖http://en.wikipedia.org/wiki/Data_URI_scheme |
|
|