javascript - 一行 XHTML Javascript 代码

标签 javascript html mobile xhtml

在 HTML5 中,我可以在一行中使用特殊的 javascript 字符,如下所示:

<script> var x;If (x < 1){alert('</'+'script'+'>');} </script>

但是,我正在尝试使我的代码适应移动设备,因此我认为尝试遵守移动配置文件 1.2 是好的,但是,我在上述代码中遇到了各种解析错误,例如:

character "<" is the first character of a delimiter but occurred as data

StartTag: invalid element name

并且两个错误都突出显示“<”字符。

这里的一篇文章表明我可以使用 CDATA 标签,而其他地方则表明 html 注释标签可能有效,但问题是这两种方法都需要 javascript 位于其自己的行上。例如:

<script type="text/javascript"><!--
var x;If (x < 1){alert('</'+'script'+'>');}    
// -->
</script>

<script type="text/javascript">
// <![CDATA[
var x;If (x < 1){alert('</'+'script'+'>');}    
// ]]>
</script>

有没有一种方法可以让我在一行内获得这种 JavaScript 代码,并且仍然可以正确执行,而不会在 w3c 验证器中收到解析错误?

最佳答案

您应该使用小写的 if,并且还应该使用转义字符代码:

var x;if (x < 1){alert('\x3C/script>');} 

我认为这不是绝对必要的,但您也可以在脚本标记的另一端使用转义字符:

var x;if (x < 1){alert('\x3C/script\x3E');} 

关于javascript - 一行 XHTML Javascript 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35330599/

相关文章:

javascript - 在 Express-Sequelize MySql 中创建 2 个模型之间的关联

javascript - 代表同一产品 3 个不同价格的价格数组

html - 揭开 Logo - 被另一个 DIV 的背景图像阻止

database - 如何最大限度地提高我的应用程序数据库的安全性?

javascript - 确定浏览器是否正在使用移动数据或 wifi?

c# - 在移动设备上运行时更改 Gridview 列的可见性?

javascript - 如何让键盘+屏幕阅读器访问我的 Accordion ?

javascript - 四格列布局,一格固定(粘性)

javascript - onmouseover 事件仅在第二次鼠标悬停后有效

javascript - 数组是否作为 JavaScript ECMAScript 兼容中的左值?