我有一个 HTML 页面,例如:
<html>
<head>
<title>Test Page</title>
<script type="text/javascript"
src="http://svn.ckeditor.com/CKEditor/releases/latest/ckeditor_basic_source.js"></script>
<script type="text/javascript">
//@x=y
</script>
</head>
<body>
Test Page
</body>
</html>
注释//@x=y
在 IE 10 中作为代码执行,浏览器抱怨'y' is undefined
:
如果出现以下情况,浏览器将停止抱怨:
- 我删除 CKEditor 脚本
- 删除
@
字符 - 更改
<script/>
标签的顺序
这里可能出了什么问题?
更新:我将根本原因缩小到CKEditor 的core/env.js文件中的条件编译语句。
if ( !CKEDITOR.env )
{
/**
* @namespace Environment and browser information.
*/
CKEDITOR.env = (function()
{
var agent = navigator.userAgent.toLowerCase();
var opera = window.opera;
var env =
/** @lends CKEDITOR.env */
{
/**
* Indicates that CKEditor is running on Internet Explorer.
* @type Boolean
* @example
* if ( CKEDITOR.env.ie )
* alert( "I'm on IE!" );
*/
ie : /*@cc_on!@*/false,
...
如果我删除该/*@cc_on!@*/
评论,一切都会按预期进行。