尝试实施Chrome扩展程序,该扩展程序通过content_scripts
嵌入到页面中。
我面临的挑战是我使用带扩展名的angularjs,需要先创建div然后添加控制器名称,然后启动控制器功能。例如:
var body = document.querySelector('body');
body.setAttribute('ng-controller', 'BodyCtrl');
app.controller('BodyCtrl', function ($scope, $http, PollPage, PageType) {
...
})
这适用于重新加载页面以及网站不通过javascript导航时。但是有些网站使用JS来加载dom并更改url这样做,以angularjs的方式使得它不是... document.querySelector ...
代码的初始化。
尝试找到重新加载扩展程序的方法,重新加载文件或在网址更改时重新加载所有这些功能。建议?
我想过对DOM对象进行监视,这是荒谬和低效的,但我试图找到其他方法来做到这一点。我尝试触发一个在location.pathname change:
上执行此操作的函数function addContent(){
var body = document.querySelector('body');
body.setAttribute('ng-controller', 'BodyCtrl');
}
由于JS花了几毫秒来更改页面中的内容,因此页面会发生变化。