0

这应该非常简单,但我不断收到错误。

我有一个 JSON 字符串,我需要向其中添加一个 js 变量,代码示例如下。本质上,我需要在 URL 字符串中的哈希标记之后添加 frameVideo 变量。

var frameVideo = window.location.hash.substring(1);

jwplayer("sVid").setup({
'share-video': {
       'code': '<embed src="http://www.website.com/test.php#"\'.frameVideo.\'" width="480" height="270" allowfullscreen="true" />'
   },
});

我需要做些什么不同的事情?

4

4 回答 4

0

您使用的是 PHP 连接而不是 javascript 样式。

var frameVideo = window.location.hash.substring(1);

var JSON =  
{
       'code': '<embed src="http://www.website.com/test.php#"' + frameVideo + ' width="480" height="270" allowfullscreen="true" />'
   };
于 2012-07-10T21:50:44.607 回答
0

使用+而不是.连接您的字符串。

于 2012-07-10T21:51:54.250 回答
0

考虑到编码风格,我猜你只是从 PHP 转向 javascript。在 javascript 中,我们使用+concatinate,而不是.在 PHP 中。

JSON 字符串本质上是 javascript 对象:

var obj = {
    'share-video': {
        'code': '<embed src="http://www.website.com/test.php#' + frameVideo + '" width="480" height="270" allowfullscreen="true" />'
    }
}

您还在对象的上下文之外定义对象的索引。'variable':'something'在对象之外是语法错误。对象封装在{}中。上面的代码在语义上是正确的。

调试 javascript 时,请始终检查您的控制台日志。他们可以帮助查明导致问题的确切原因。如果您不知道如何激活控制台,可以F12在大多数浏览器中使用它,或者通过右键单击->inspect 元素来访问它。我推荐使用谷歌浏览器进行 javascript 调试。

于 2012-07-10T21:52:52.620 回答
0

用于+串联。
也不需要在这里逃避任何事情。
后面有一个额外的双引号#
您想对 JSON 中的键名使用双引号(在这里可能不会有什么不同,但无论如何都是一个好习惯)
您的"share-video"对象后面有一个尾随逗号。

var frameVideo = window.location.hash.substring(1);

jwplayer("sVid").setup({
    "share-video": {
        "code": '<embed src="http://www.website.com/test.php#' + frameVideo + '" width="480" height="270" allowfullscreen="true" />'
    }
});
于 2012-07-10T21:53:13.437 回答