我自己写了个在线html,css,js工具:
html结构部分
<div class="html">
<textarea id="html" name="" cols="30" rows="10">
</textarea>
</div>
<div class="css">
<textarea id="css" name="" cols="30" rows="10"></textarea>
</div>
<div class="css">
<textarea id="js" name="" cols="30" rows="10"></textarea>
</div>
<div class="button"><button id="button">显示效果</button></div>
<div class="iframe">
<iframe id="iframe" frameborder="0">
</iframe></div>
css部分
#html{width: 1000px;height: 200px;border:1px solid red;}
#css{width: 1000px;height: 200px;border:1px solid red;}
#js{width: 1000px;height: 200px;border:1px solid red;}
#iframe{width: 1000px;height: 800px;border:1px solid red;}
js部分
<script charset="utf-8" type="text/javascript">
var ele = document.getElementById("button");
ele.addEventListener("click", function(){
var obHtml = document.getElementById("html").value;
var obCss = document.getElementById("css").value;
var obJs = document.getElementById("js").value;
var obIframe = document.getElementById("iframe");
myString = obHtml + '<style type="text/css">' +
obCss +'</style>' +
'<script charset="utf-8" type="text/javascript">' +
obJs + '</script>';
console.log(mString);
obIframe.srcdoc = myString;
})
console.log(mystring);用来测试的,可以不要。
总是报错
Uncaught SyntaxError: '' literal not terminated before end of script
第32行出错
myString = obHtml + '<style type="text/css">' +
obCss +'</style>' +
'<script charset="utf-8" type="text/javascript">' +
obJs + '</script>';
哪里有错了?
不要 + '<script charset="utf-8" type="text/javascript">' + obJs + '</script>'; 就可以,原因不知道。
iframe里面的js不能直接拼接,script部分必须新生成,下面的代码测试通过。