2012-09-13 58 views
0

有没有一种方法让我从这个函数中获取文件url而不用改变javascript并且不运行该函数?从函数中获取变量

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

看在插件的文档中,看看是否有方法获得选项值。也许有一种像getConfig这样的方法。 –

+2

该声明已在运行该功能。 – Asciiom

+0

@Jeroen:好点... – acme

回答

1

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

0

否。如果该函数未运行,则包含url的对象无法访问。您只能尝试将函数的源代码作为一个字符串,并在其中进行挖掘,例如用正则表达式来匹配那个对象字面值。

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); 

现在你可以使用,但是你想要的参数,访问网址:

// use the arguments object for other things 
setupArgs.file; 
+0

我们不知道他是否真的提供了代码。它可能是服务器上某个地方的一个片段。 – acme