按照说明,我已成功将 iPhone 和 Android 手机连接到 Weinre。但是,我无法将我的 Windows Phone 7.8 连接到 Weinre,尽管我知道它应该是可能的。
我使用命令“weinre --boundHost -all---debug -true”运行 Weinre。我已经包含了脚本
<script src="http://[my.ip.goes.here]:8080/target/target-script-min.js#anonymous"></script>
到我的页头。我导航到http://[my.ip.goes.here]:8080/client/#anonymous
,所有其他手机都会在此处弹出。我尝试在移动和桌面模式下运行 Windows Phone Internet Explorer。当我刷新我要检查的页面时,我的终端没有给出任何消息,甚至没有错误。我目前正在使用移动4g网络,这会影响Weinre连接吗?我正在使用 Mac。
我在这里缺少什么吗?
编辑:
我在 Windows Phone 上将错误作为警报运行并得到了这个:
“无法设置属性 '__original' 的值:对象为 null 或未定义”,来自文件的第 1569 行[my.ip.goes.here]:8080/target/target-script-min.js#anonymous
。
我还不知道它指的是哪里。
编辑:
我找到并编辑了位于usr/local/lib/node_modules/weinre/web/target/文件夹中的 target-script-min.js:
// Lines 1567-1571
RemoteConsole = new Console();
OriginalConsole = window.console;
RemoteConsole.__original = OriginalConsole;
OriginalConsole.__original = OriginalConsole;
require("../common/MethodNamer").setNamesForClass(module.exports);
我添加了行
alert('window.console: ' + window.console);
在 Firefox 上,我收到警报:window.console: [object Console] 在 Windows Phone 上,我收到window.console: undefined
这样做的原因是 IE9 不知道诸如 window.console 之类的东西,直到开发人员工具打开并且显然它们不在 Windows Phone 上。更多细节在这里:http ://whattheheadsaid.com/2011/04/internet-explorer-9s-problematic-console-object
如何在不打开开发人员工具的情况下将 window.console 对象添加到 IE9?
编辑:
要获取 IE9 window.console 对象,我按照此处的说明进行操作:'console' is undefined error for Internet Explorer
并粘贴代码
(function() {
if (!window.console) {
window.console = {};
}
// union of Chrome, FF, IE, and Safari console methods
var m = [
"log", "info", "warn", "error", "debug", "trace", "dir", "group",
"groupCollapsed", "groupEnd", "time", "timeEnd", "profile", "profileEnd",
"dirxml", "assert", "count", "markTimeline", "timeStamp", "clear"
];
// define undefined methods as noops to prevent errors
for (var i = 0; i < m.length; i++) {
if (!window.console[m[i]]) {
window.console[m[i]] = function() {};
}
}
})();
在 target-script-min.js 之上。
现在我得到了一些对象作为控制台,警报给了我这个:window.console; [对象对象]。
之后我收到更多错误:
html页面第1行上的“访问被拒绝”。
是不是现在有什么东西阻止了 Weinre 获取 html 页面?我也收到以下错误:
“无法获取属性 'InspectorNotify' 的值:对象为 null 或未定义”在 target-script-min.js 上。这个错误来了两次。