Javascript命令插入HTML
Javascript command insertion HTML
我想创建一个JavaScript命令执行。。我的意思是,如果我用输入法构建了一个页面,那么,该输入法的值将在JavaScript控制台中执行,那么,执行的结果应该插入HTML标记中,如下所示:HTML:
<input id="commandInsertion"/>
<input type="Submit" onclick="doCommand()">
<p id="result"></p>
JavaScript:
var doCommand = function(x) {
// The command should be something like this
Execute(x); // Imaginary Function
document.getElementById('result').innerHTML = ResultOf(x);
// ResultOf() is also an imaginary function
};
doCommand
是一个执行命令,然后将其打印到文档中的函数
简单。听说过eval
吗?这是一个既有趣又危险的功能。它允许您在运行时评估代码。这里有一个例子:
$('#calc').on('input', function() {
try {
$('#out').val(eval($('#calc').val()));
} catch (e) {
$('#out').val('ERROR!')
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
Input:
<br>
<input id='calc'>
<br>Output:
<br>
<input id='out'>
这很简单,但eval也可能很危险。它可以让攻击者做任何你能做的事。你可能想了解一下:
将eval()限制为窄范围
这是你想要的代码:
var doCommand = function() {
// The command should be something like this
document.getElementById('output').innerHTML = eval(document.getElementById('commandInsertion').value);
};
<input id="commandInsertion" />
<div id="output"></div>
<br>
<br>
<input type="Submit" onclick="doCommand()">
我从你的解释中得到的是,你需要一些东西,比如:
function getInsertedValue() {
var txt = document.getElementById('commandInsertion').value;
updateElem(txt);
}
function updateElem(insertedTxt) {
document.getElementById("updatedTxt").innerHTML = eval(insertedTxt);
}
<div>
<input type="text" id="commandInsertion" />
<span id="updatedTxt"></span>
<input type="Submit" onclick="getInsertedValue()">
</div>
你不是说eval函数吗?
eval()函数计算或执行一个参数。
非常小心地使用它——它允许用户运行任何javascript命令,这是一个很大的安全风险。
相关文章:
- 如何在 MVC 中使用 javascript 作为原始 html 插入内容 ASP.NET
- 将 HTML 插入 Jekyll 帖子
- 在插入符号 (IE) 处将 HTML 插入 iFrame 中
- 反应:使用危险设置内部HTML插入时脚本标记不起作用
- 将 HTML 插入网页
- Dom 函数,将 HTML 插入到 dom 中替换所有内容
- 在不创建 CORS 限制的情况下将 HTML 插入画布
- 使用 javascript 编辑 HTML:插入 而不是
作为换行符 - TinyMCE,将HTML插入特定的TinyMCE实例
- CKEditor将HTML插入文本区域
- 在使用ajax将html插入页面后选择dom元素
- 如何使用jQuery打开一个新窗口并将html插入其中
- 从 AngularJS 控制器将 HTML 插入视图
- 有没有比insertAdjacentHTML()和一个巨大的HTML字符串更好的方法将HTML插入DOM中
- 使用ng指令将HTML插入视图::AngularJS+JavaScript+Ionic
- 如何修改此Javascript以允许将HTML插入到Button文本中?
- 用Jquery将HTML插入DIV
- 将HTML插入到光标位置到Ace编辑器
- 使用JavaScript/jQuery将多行HTML插入iframe的正确方法
- 用html插入一个列表项