我一直试图让这段代码起作用:
if(searchResults != null){
for(var i=0; i < searchResults.length; i++){
var file = nlapiLoadFile(searchResults[i].getValue('custrecord_download_file'));
var result = searchResults[i].getText('custrecord_download_name');
var analytics = "onclick=\"ga(\'send\',\'event\','" + result + "');\"";
ulText += '<li><a href="'+ file.getURL() + '" target="_blank" ' + analytics + ' >' + searchResults[i].getText('custrecord_download_name') + '</a></li>';
}
}
ulText += '</ul>';
response.write('document.write(\'' + ulText + '\')');
}
但是当它到达分析变量时会中断,因为它有带撇号的参数。在检查员中我收到:
document.write('<ul><li><a href="/core/media/media.nl?id=339181&c=685553&h=20e8a29160195ea985c6&_xt=.pdf" target="_blank" onclick="ga('send','event','Product Datasheet')" >Product Datasheet</a></li></ul>')
我怎样仍然可以使用&#39;发送&#39;就像谷歌分析一旦达到第一个ga参数就要求没有脚本中断。先谢谢你。
答案 0 :(得分:0)
使用这样的反弹来逃避你的字符串:
document.write('<ul><li><a href="/core/media/media.nl?id=339181&c=685553&h=20e8a29160195ea985c6&_xt=.pdf" target="_blank" onclick="ga(\'send\',\'event\',\'Product Datasheet\')">Product Datasheet</a></li></ul>')
它应该有效,这些可能会有所帮助:Escape strings in javascript
答案 1 :(得分:0)
试试这个:
var analytics = "onclick=\"ga(\'send\',\'event\',\'" + result + "\');\"";
或者您可以尝试使用ES6:
const analytics = `onclick=\"ga(\'send\',\'event\',\'${result}\');\"`;