我正在为使用Backbone.js的网站编写浏览器扩展。它的相关代码如下所示(已更改名称以保护无辜者):
var BigContainer = BigContainer || {};
(function($, exports) {
var Thing = Backbone.View.extend({
...
useful_func: function() {
// Does something I need to call
},
...
});
(function($, exports) {
BigContainer.BaseView = Backbone.View.extend({
...
render: function() {
this.local_thing = new Thing({
el: '.local_thing'
});
}
...
});
我还在一个<script>
块中插入了一些代码来监听postMessage()
我从我的扩展注入的 javascript 文件中进行的调用。我希望能够useful_func
从那里打电话,但不知道如何,或者如果我什至应该这样做(如果没有,那么我怎样才能达到相同的结果)。
例如,我尝试了以下引用,所有这些都显示为未定义:
BigContainer.BaseView.$local_thing
BigContainer.BaseView.local_thing
Thing
document.getElementsByClassName('local_thing')[0].useful_func
重要的是,由于我正在为我不拥有的网站编写扩展程序,因此我无法修改该网站的 Backbone.js 代码来帮助自己。我需要处理那里的东西。