【发布时间】:2021-03-22 21:09:59
【问题描述】:
我有一个 chrome 扩展程序,可以将 javascript 代码注入到这样的网页中
if (document.readyState === "complete") {
const html = `
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<script type="text/javascript">
console.log(location.href);
function doStuff() {
console.log("do stuff");
}
console.log("onload");
window.onload = function () {
console.log("WINDOW LOADED");
doStuff();
}
</script>
</body>
</html>
`;
document.write(html);
}
但是,在我导航到页面并且扩展程序注入 javascript 后,我可以在控制台中看到它确实记录了 location.href 和 onload,但 window.onload 没有触发,我没有看到控制台中的WINDOW LOADED,也没有调用doStuff()。
我也试过
window.addEventListener('load', (event) => {
console.log('page is fully loaded');
});
还有
document.addEventListener('DOMContentLoaded', doStuff);
无济于事。 任何帮助将不胜感激,我找不到任何有效的方法。
【问题讨论】:
标签: javascript html google-chrome-extension code-injection onload