我正在尝试为我们拥有的iframe组件编写一个测试(使用PhantomJS的karma / mocha / chai)。该组件会向页面添加iframe,并在iframe的onload
事件触发时解析承诺。
$('iframe').on('load', function() {
promise.resolve();
});
它在浏览器中运行良好,但在PhantomJS中使用时似乎永远不会触发事件。
我使用无效的src
进行了测试,并且幻像引发了404错误,因此我知道它正在加载某些内容。
PhantomJS + onload有任何已知问题吗?我找不到任何东西。
有没有办法更好地调试这个?
答案 0 :(得分:1)
我与mocha +幻像有着完全相同的问题,在我的情况下,我通过设置iframe src
然后将其附加到DOM来解决它。
// load event fires in browser, not in phantom
var myIframe = document.createElement('iframe');
document.body.appendChild(myIframe);
iframe.src = 'www.example.com';
// load event fires in both
var myIframe = document.createElement('iframe');
iframe.src = 'www.example.com';
document.body.appendChild(myIframe);