0

我很难解决这个字符串问题

contentString = '<div id="infoHead">Drag me for new coordinates.</br></div>'+results[1].formatted_address+'<div id="latlng">'+
                                  'Latitude: '+dmsLat+'</br>'+'Longitude: '+dmsLng+'</div>'+'</br>'+'<a href="//www.youtube.com/embed/Mzja4le8htk"'
            + 'style="width=420px; height=315px"'
            + 'onclick=' + '"window.open(this.href,'rockclimbing','left=400,top=250,width=420,height=315,toolbar=1,resizable=0');return false;"'
            + '>Click here for more details</a>'

例如通过这段代码:

'"window.open(this.href,'rockclimbing','left=400,top=250,width=420,height=315,toolbar=1,resizable=0');return false;"'

它显示了一些错误,从哪里rockclimbing开始,left until sizeable=0不能放单引号。

那么如何解决这个问题呢?我无法提供链接,因为这是我的第二个项目。我真的很感激任何帮助。

4

2 回答 2

1

您需要转义内部引号:

'"window.open(this.href,\'rockclimbing\',\'left=400,top=250,width=420,height=315,toolbar=1,resizable=0\');return false;"'

否则之前的单引号rockclimbing会终止字符串。

于 2013-08-26T20:22:30.807 回答
0

我将向您展示如何找到您的错误。

我只包括我们的示例,直到第一个错误。

当您将此部分移到您的环境中时,此错误应该会消失,前提是

results[1].formatted_address

可以转换为字符串。

当您修复错误时,移动越来越多的原始代码。

祝你好运!

包裹在异常处理程序中的代码用于错误报告

try {
    contentString = '<div id="infoHead">Drag me for new coordinates.</br></div>'
    +results[1].formatted_address;
} catch(exception) {
    console.log(exception.stack);
}

用于错误诊断的控制台日志输出

ReferenceError: results is not defined
    at <anonymous>:2:84
    at Object.InjectedScript._evaluateOn (<anonymous>:580:39)
    at Object.InjectedScript._evaluateAndWrap (<anonymous>:539:52)
    at Object.InjectedScript.evaluate (<anonymous>:458:21)
于 2013-08-26T21:29:22.777 回答