gpt4 book ai didi

javascript - 转义 JS 保留字(已双重封装)

转载 作者:行者123 更新时间:2023-12-02 17:41:49 25 4
gpt4 key购买 nike

我有一个由一些PHP生成的JS函数,函数调用如下:

onClick=openPopup('".$row['imgname']."','".$row['adtitle']."','".$row['adviews']."')

现在,除非 $row['adtitle'] 的值包含 JS 关键字,否则该方法有效。让我注意到代码中的错误的是“THIS”这个词。有没有办法转义这些值,我无法弄清楚,因为我已经在这个调用中使用了很多封装。

提前致谢。

编辑:
openPopup('efc86f7223790e91f423ef1b73278435.jpg','这是测试广告 12345678','2')此调用不起作用。

openPopup('eada91a6c1197d2f2320e59f45d8ca6b.jpg','是一个测试','2')然而这个确实有效..

我唯一能想到的是THIS,因为在查看源代码时,THIS 后面的文本以不同方式突出显示。

编辑2:这是我的功能:

function openPopup(imgname,adtitle,adviews) {
document.getElementById('popup').style.display = 'block';
document.getElementById('delimg').src = 'imgstore/' + imgname;
document.getElementById('delAdTitle').innerHTML = adtitle;
document.getElementById('delAdViews').innerHTML = adviews;
document.getElementById('confirm').onclick = function() {
location.href = '?delete=1&id=' + imgname;
}
}

最佳答案

也许这只是正确格式的问题:

$onclick = 'openPopup('.json_encode($row['imgname']).','.json_encode($row['adtitle']).','.json_encode($row['adviews']).')';
echo 'onClick="'.htmlspecialchars($onclick).'"';

请注意,我们在这里滥用 json_encode 来引用 JavaScript 字符串文字。尽管严格来说我们不应该JSON strings are not a subset of JavaScript strings .

关于javascript - 转义 JS 保留字(已双重封装),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22133927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com