jsbin.com 上我的浏览器 JavaScript 引擎有什么问题?
What's wrong with my browser JavaScript engine on jsbin.com?
我是 JavaScript 的新手。我正在尝试将文本添加到 p
标记中并使用 ID 定位它。现在,使用 document.getElementById('text').innerHTML
,当我设置包含 do
单词的文本时,它 returns p
标签中的原始文本。
document.getElementById('text').innerHTML='as I add??? do';
<p id="text" class="abc">Hello</p>
它只发生在 do
之间的单词。
Here's a GIF explaining the issue:
我希望我做对了。但是,可能有些怪癖困扰着我。
正如 Juhana 和 jsbin member 在 github 上评论的那样,它是一个 false positive
,这可以通过在代码中添加 // noprotect
来实现。
例如
console.clear();
document.getElementById('abc').innerHTML = 'this is abc do ';
// noprotect
p.s.目前正在解决环路保护问题,直到修复为止。
当你使用
document.getElementById("text").innerHTML = "abc a d";
他们载入此文档(由我格式化):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<style id="jsbin-css"></style>
</head>
<body>
<p id="text">Hello</p>
<script>
try {
document.getElementById("text").innerHTML = "abc a d";
} catch (error) {
throw error;
}
//# sourceURL=wecinoqeje.js
</script>
</body>
</html>
但是当您使用 do
时,它们会完全搞砸您的代码。
document.getElementById("text").innerHTML = "abc a do";
他们可能认为这是 do-while
,因为他们有一个叫做 "loop protection" 的东西。加载的文档是
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<style id="jsbin-css"></style>
</head>
<body>
<p id="text">Hello</p>
<script>
try {
{
;
window.runnerWindow.protect.protect({
line: 1,
reset: true
});
document.getElementById("text")
{
if (window.runnerWindow.protect.protect({ line: 1 }))
break;
.innerHTML = "abc a do";
}
}
} catch (error) {
throw error;
}
//# sourceURL=wecinoqeje.js
</script>
</body>
</html>
这是一个语法错误。所以你的代码没有运行.
我是 JavaScript 的新手。我正在尝试将文本添加到 p
标记中并使用 ID 定位它。现在,使用 document.getElementById('text').innerHTML
,当我设置包含 do
单词的文本时,它 returns p
标签中的原始文本。
document.getElementById('text').innerHTML='as I add??? do';
<p id="text" class="abc">Hello</p>
它只发生在 do
之间的单词。
Here's a GIF explaining the issue:
我希望我做对了。但是,可能有些怪癖困扰着我。
正如 Juhana 和 jsbin member 在 github 上评论的那样,它是一个 false positive
,这可以通过在代码中添加 // noprotect
来实现。
例如
console.clear();
document.getElementById('abc').innerHTML = 'this is abc do ';
// noprotect
p.s.目前正在解决环路保护问题,直到修复为止。
当你使用
document.getElementById("text").innerHTML = "abc a d";
他们载入此文档(由我格式化):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<style id="jsbin-css"></style>
</head>
<body>
<p id="text">Hello</p>
<script>
try {
document.getElementById("text").innerHTML = "abc a d";
} catch (error) {
throw error;
}
//# sourceURL=wecinoqeje.js
</script>
</body>
</html>
但是当您使用 do
时,它们会完全搞砸您的代码。
document.getElementById("text").innerHTML = "abc a do";
他们可能认为这是 do-while
,因为他们有一个叫做 "loop protection" 的东西。加载的文档是
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<style id="jsbin-css"></style>
</head>
<body>
<p id="text">Hello</p>
<script>
try {
{
;
window.runnerWindow.protect.protect({
line: 1,
reset: true
});
document.getElementById("text")
{
if (window.runnerWindow.protect.protect({ line: 1 }))
break;
.innerHTML = "abc a do";
}
}
} catch (error) {
throw error;
}
//# sourceURL=wecinoqeje.js
</script>
</body>
</html>
这是一个语法错误。所以你的代码没有运行.