应用环境:ratchet 1.0+phonegap 2.7

场景描述:两张页面A,B,B中需要调用A中head里面的lib,而由于ratchet的push引擎直接将B中的DOM加载给A,并通过历史记录更改URL。

故A与B页面的交互被push接管,直接在A中写B的调用函数无法执行。熬了几个夜之后终于找到解决方案。

1、打开ratchet.js并搜索下面这行代码

if (xhr.readyState == 4) xhr.status == 200 ? success(xhr, options) : failure(options.url);

2、将上面的代码替换为

if (xhr.readyState == 4) xhr.status == 200 || (xhr.status == 0 && options.url.indexOf('file:///') != -1) ? success(xhr, options) : failure(options.url);

保存之后,就可以在A中控制B了。

Posted on 2013-05-15 10:55  向民  阅读(419)  评论(0编辑  收藏  举报