1

我有以下代码,当我像这样运行它时

phantomjs test-script.js http://phantomjs.org 

我收到“语法错误:解析错误”的错误。我对 javascript 很陌生,并且没有错误的行号,我迷路了。这是代码

var args = require('system').args;
var url = "";

args.forEach(function(arg, i) {
        url = arg;
});


var page = require('webpage').create();

var pageLoaded = function({

page.open(url, function (status) {
    if (status !== 'success') {
        console.log('Unable to access network');
    } else {
        page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js", function() {
            var data = page.evaluate(function() {
                return $("body").html();
            });

            var title = page.evaluate(function () {
                return document.title;
            });

            console.log('<title>' + title + '</title>');
            console.log(data);
            page.close();
            phantom.exit();
        });
    }
   });
});    

var try_to = function() {
  setTimeout(pageLoaded, 1000);
};

try_to();

我查看了PhantomJS 有时会给出“解析错误”消息,并从 phantomjs“SyntaxError: Parse error”消息中获取更多信息,也没有给我更多调试信息。我检查了多个站点,但没有收到第一个链接中提到的 gzip 问题。我认为这是带有代码的东西。好像我删除了 try_to() 函数,一切正常。

4

2 回答 2

2

将该js复制并粘贴到jslint中,我刚试了一下,发现很多错误,有些微不足道,但有些主要。对于初学者,您在页面加载功能上缺少一个 ) 。

于 2013-03-11T03:41:26.657 回答
0

使用在线 JavaScript 验证器,例如http://esprima.org/demo/validate.html

于 2013-03-11T04:00:04.110 回答