【发布时间】:2014-01-06 20:25:51
【问题描述】:
您好,我正在尝试制作个人代码游乐场...我正在使用 Code Mirror 将其变成一个 IDE(我还计划稍后添加 IDE 的功能,但是...)。我目前的代码基本上是..
HTML (index.html)
<html>
<head>
<link href="main.css" rel="stylesheet" type="text/css" />
<script src="http://codemirror.net/lib/codemirror.js"></script>
<link href="http://codemirror.net/lib/codemirror.css" rel="stylesheet" />
<script src="http://codemirror.net/mode/htmlmixed/htmlmixed.js"></script>
<script src="http://codemirror.net/mode/css/css.js"></script>
<script src="http://codemirror.net/mode/javascript/javascript.js"></script>
</head>
<body>
<div class="codewindow">
<form id="codePush" action="codePush.php" method="POST" target="codeResults">
<textarea id="htmlWindow"></textarea>
<textarea id="cssWindow"></textarea>
<textarea id="jsWindow"></textarea>
<input type="submit" />
</form>
<script class="code">
var htmlCodeMirror = CodeMirror(function(elt) {
htmlWindow.parentNode.replaceChild(elt, htmlWindow);
}, {value: "<!-- HTML goes here -->",
lineNumbers: true,
mode: "text"});
</script>
<script class="code">
var cssCodeMirror = CodeMirror(function(elt) {
cssWindow.parentNode.replaceChild(elt, cssWindow);
}, {value: "/* CSS goes here. */",
lineNumbers: true,
mode: "css"});
</script>
<script class="code">
var jsCodeMirror = CodeMirror(function(elt) {
jsWindow.parentNode.replaceChild(elt, jsWindow);
}, {value: "// JavaScript goes here.",
lineNumbers: true,
mode: "javascript"});
</script>
</div>
<div class="output">
<iframe id="codeResults" name="codeResults" target="codePush.php" width="100%" height="100%" frameBorder="0.5" scrolling="yes"></iframe>
</div>
</body>
PHP (codePush.php)
<!DOCTYPE html>
<html>
<head>
<style>
<?php
echo $_GET['cssWindow'];
?>
</style>
<script type="text/javascript">
<?php
echo $_GET['jsWindow'];
?>
</script>
</head>
<body>
<?php
echo $_GET['htmlWindow'];
?>
</body>
</html>
我已确保 iFrame 的链接有效,因为在将文本添加到正文部分的 PHP 文件时,它会在按下提交时显示。
我希望我已经说清楚了,希望能得到任何帮助... 仅供参考,我在 PHP 方面有点小白
【问题讨论】:
-
HOW 这不起作用吗?请注意,html 中的
id不会创建匹配的 javascsript 对象。您尚未在 JS 代码中的任何位置定义htmlWindow、cssWindow等,因此几乎可以肯定,如果您检查 javascript 控制台,您将被未定义对象错误淹没。 -
iframe 几乎总是一个坏主意。
-
PHP 在服务器上运行,它不关心输出将显示在哪里。
-
你没有在 iFrame 请求中设置任何参数,所以 PHP 不知道
$_GET['htmlWindow']等实际上是什么 -
您在
iframe中也没有src属性。你有target,但这不是设置 iframe URL 的方法。
标签: php html forms iframe textarea