所见即所得编辑器在 PhantomJS 中不起作用
WYSIWYG Redactor not working in PhantomJS
我正在尝试使用 Codeception 和 PhantomJS 测试我的网页,除了一件烦人的事情外,一切都很好。 PhantomJS 未加载 WYSIWYG Redactor,所有其他 javascript 根本未执行。我试图通过创建一个只有 Redactor 的非常简单的网页来隔离问题:
<html>
<head>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="redactor/redactor.js"></script>
<link rel="stylesheet" type="text/css" media="screen, projection" href="redactor/redactor.css">
<script>
$(function()
{
$('#redactor').redactor();
});
</script>
</head>
<body>
<textarea name="" id="redactor" cols="30" rows="10"></textarea>
</body>
</html>
然后我有一个我给 PhantomJS 的简单测试脚本:
var page = require('webpage').create();
page.open('http://localhost/redactor/', function(status) {
console.log("Status: " + status);
if(status === "success") {
page.render('example.png');
}
phantom.exit();
});
example.png 中的结果应该是加载了 Redactor 的简单网页,但我却收到了 PhantomJS 错误:
TypeError: 'undefined' is not an object (evaluating 'tags.length')
http://localhost/redactor/redactor/redactor.js:6928
所以我尝试通过放置 if(tags === undefined) return;
来修复 redactor,但是有 3-4 个这样的错误,总是有 undefined
问题。当我修复所有这些问题时,我得到的网页只有文本区域,但没有所见即所得。在浏览器中它呈现良好(FF,Chrome,Opera,...),但在 PhantomJS 中它有问题。
我做错了什么?大家遇到过同样的问题吗?
我在 PhantomJS 1.9.7 版中遇到了完全相同的问题。
升级到 2.0.0 修复了它。我使用自制软件:
brew update
brew upgrade phantomjs
我正在尝试使用 Codeception 和 PhantomJS 测试我的网页,除了一件烦人的事情外,一切都很好。 PhantomJS 未加载 WYSIWYG Redactor,所有其他 javascript 根本未执行。我试图通过创建一个只有 Redactor 的非常简单的网页来隔离问题:
<html>
<head>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="redactor/redactor.js"></script>
<link rel="stylesheet" type="text/css" media="screen, projection" href="redactor/redactor.css">
<script>
$(function()
{
$('#redactor').redactor();
});
</script>
</head>
<body>
<textarea name="" id="redactor" cols="30" rows="10"></textarea>
</body>
</html>
然后我有一个我给 PhantomJS 的简单测试脚本:
var page = require('webpage').create();
page.open('http://localhost/redactor/', function(status) {
console.log("Status: " + status);
if(status === "success") {
page.render('example.png');
}
phantom.exit();
});
example.png 中的结果应该是加载了 Redactor 的简单网页,但我却收到了 PhantomJS 错误:
TypeError: 'undefined' is not an object (evaluating 'tags.length')
http://localhost/redactor/redactor/redactor.js:6928
所以我尝试通过放置 if(tags === undefined) return;
来修复 redactor,但是有 3-4 个这样的错误,总是有 undefined
问题。当我修复所有这些问题时,我得到的网页只有文本区域,但没有所见即所得。在浏览器中它呈现良好(FF,Chrome,Opera,...),但在 PhantomJS 中它有问题。
我做错了什么?大家遇到过同样的问题吗?
我在 PhantomJS 1.9.7 版中遇到了完全相同的问题。
升级到 2.0.0 修复了它。我使用自制软件:
brew update
brew upgrade phantomjs