0

有没有办法让我在不更改 javascript 且不运行函数的情况下从此函数获取文件 url?

  jwplayer('jsCmgPlayer').setup({
    flashplayer: 'http://website.com/player.swf',
    file: 'http://website.com/0015980.mp3',
    autostart: true,
 'skin': 'http://www.website.com/skin.xml',
 'controlbar': 'bottom',
    height: 28,
    width: 620
  });

我想http://website.com/0015980.mp3作为一个单独的变量。

4

3 回答 3

1

这是不可能的。如果您不运行该函数,则无法通过插件 API 访问该属性,因为它从未设置过,也无法从 JavaScript 代码的外部范围访问它。参数散列在此函数之外不可见。

于 2012-09-13T15:15:43.893 回答
0

不可以。如果该函数没有运行,则无法访问包含该 url 的对象。您只能尝试将函数的源代码作为字符串获取,然后在其中挖掘,例如使用正则表达式来匹配该对象文字。

于 2012-09-13T15:13:49.503 回答
0

您提供的 javascript 已经在运行该功能。由于正在调用设置代码并提供参数,因此可以这样做:

// create the arguments object
var setupArgs = {
    flashplayer: 'http://website.com/player.swf',
    file: 'http://website.com/0015980.mp3',
    autostart: true,
    'skin': 'http://www.website.com/skin.xml',
    'controlbar': 'bottom',
    height: 28,
    width: 620
}

// setup the plugin
jwplayer('jsCmgPlayer').setup(setupArgs);

现在您可以随意使用参数来访问该 url:

// use the arguments object for other things
setupArgs.file;
于 2012-09-13T15:22:13.773 回答