我经常CDATA在XML文件中找到这个奇怪的标签:
<![CDATA[some stuff]]>
Run Code Online (Sandbox Code Playgroud)
我观察到这个CDATA标签总是在开头,然后是一些东西.
但有时它被使用,有时则不然.我假设它是标记some stuff那将在之后插入的"数据".但是什么样的数据some stuff呢?我在XML标签中写的东西不是某种数据吗?
在JavaScript标记和HTML中使用CDATA有什么用?
<script type="text/javascript">
// <![CDATA[
// ]]>
</script>
Run Code Online (Sandbox Code Playgroud) 我读的地方,你不再需要的东西像type="text/javascript"和怪异CDATA,并<!--在脚本标记的东西.所以,而不是:
<script type="text/javascript">
//<![CDATA[
<!--
//your script here
-->
//]]>
</script>
Run Code Online (Sandbox Code Playgroud)
你会这样做:
<script>
//your script here
</script>
Run Code Online (Sandbox Code Playgroud)
我不记得我在哪里读到这个.我认为这是来自谷歌或雅虎的工程师,他们特别提到哪些浏览器需要这些古老的结构以及原因.任何人都知道这个博客文章/文章被讨论过,或者有一个很好的资源谈论这个?
以下练习在我必须使用的内联JavaScript中相当普遍:
<script type="text/javascript">
<!--
// Code goes here
//-->
</script>
Run Code Online (Sandbox Code Playgroud)
我知道关键是要防止与JavaScript不兼容的浏览器呈现源代码,但这仍然是今天最好的做法吗?今天使用的绝大多数浏览器都可以解释JavaScript; 即便是现代移动设备通常也没有问题.
至于'为什么不呢?' 问题:我最近不得不花费几个小时来调试一个问题,其中有人在某些页面深处埋藏的脚本标签末尾的' - >'前面没有'//',这导致了神秘的JavaScript错误.
你是做什么?这仍然被认为是"最佳做法吗?"
有没有人知道如何让一个rake测试期间assert_select不输出所有那些讨厌的html警告?你知道,像这样的东西:
.ignoring attempt to close body with div
opened at byte 1036, line 5
closed at byte 5342, line 42
attributes at open: {"class"=>"inner02"}
text around open: "</script>\r\t</head>\r\t<body class=\"inner02"
text around close: "\t</div>\r\t\t\t</div>\r\t\t</div>\r\t</body>\r</ht"
Run Code Online (Sandbox Code Playgroud)
谢谢
我怎样才能删除(//<![CDATA[ , //]]>)块; script元素内的标签.
<script type="text/javascript">
//<![CDATA[
var l=new Array();
..........................
..........................
//]]>
</script>
Run Code Online (Sandbox Code Playgroud)
看起来它可以完成,preg_replace()但还没有找到适合我的解决方案.
我会用什么正则表达式?
如何使用jQuery-rotate插件旋转图像?
我尝试了以下内容,似乎不起作用:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>View Photo</title>
<script type="text/javascript" src="scripts/jquery.js"></script>
<script type="text/javascript" src="scripts/jquery.rotate.1-1.js"></script>
<script type="text/javascript">
var angle = 0;
setInterval ( function (e) {
rotate();
}, 100 );
function rotate() {
angle = angle + 1;
$('#pic').rotate(angle);
}
</script>
</head>
<body>
<img border="0" src="player.gif" name="pic" id="pic">
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
大多数浏览器都支持其他方法,谢谢!
我正在仔细阅读一些消息来源,我看到了这一点
<script type="text/javascript" src="script/jquery/jquery.1.7.1.js">//]]>
</script>
<script type="text/javascript" src="script/swfobject_modified.js">//]]>
</script>
Run Code Online (Sandbox Code Playgroud)
以这种方式列出的头部中有十几个依赖项,//]]>每个脚本标记之后的目的是什么?
代码看起来有点旧,并设置为在compat中模拟IE7:
<meta http-equiv="X-UA-Compatible" content="IE=7" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
Run Code Online (Sandbox Code Playgroud)
真的很好奇,谢谢.
我读过有关此问题的各种内容,所以我希望能得到明确的解决。
如果我有内嵌在 HTML 文档中的 SVG 标记,并且我使用 CSS 对其进行样式化,我是否需要将该 CSS 包装在注释掉的 CDATA 中?
例子:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512">
<style type="text/css">
/* <![CDATA[ */
.some_styles {}
/* ]]> */
</style>
<!-- SVG content here -->
</svg>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我想可能存在诸如CSS 子组合器被误解为 XML 右括号之类的问题,并且我读过人们建议使用注释掉的 CDATA 围绕内联 SVG 样式1 2的各种帖子。然而,令我惊讶的是,我发现即使删除了 CDATA 并使用了子组合器,我的 HTML 仍然有效。除此之外,我无法在任何现代浏览器中检测到 SVG 渲染的任何问题。
这是SE 上讨论的关于在<script>标签中包含 CDATA 的内容,但这与 不同<svg>,因此这似乎有必要提出自己的问题。
我不介意包含它,而且这样做不会造成任何麻烦。我只是想知道我做的是正确的事还是不必要的事。
html ×6
javascript ×4
cdata ×3
xml ×2
css ×1
dom ×1
formatting ×1
image ×1
jquery ×1
php ×1
preg-replace ×1
regex ×1
rotation ×1
script-tag ×1
svg ×1
xhtml ×1