私のプロジェクトでは、各 Web ページのモジュールを作成し、次の名前の基本オブジェクトに追加しますView
。
App.js
var View = (function() {
var View = function() {
this.attributes = {
baseUrl : '',
urls : {}
};
};
View.prototype.setUrl = function(url) {
this.attributes.baseUrl = url;
};
View.prototype.getUrl = function() {
return this.attributes.baseUrl;
};
return new View();
})();
SearchView.js
var View = View || {};
var SearchView = View.SearchView = (function() {
var Private = {
search : function(url) {},
loadSearchResult : function() {},
clearSearchForm : function() {}
};
Private.search = function(url) {
ajax(url,...);
this.loadSearchResult();
};
var SearchView = function() {
this.settings = {};
};
SearchView.prototype.loadEventBindind = function() {
$(document)
.on('click','#search-button', function() {
Private.search(View.baseUrl);
})
.on('click','#reset-search', function() {
Private.clearSearchForm();
});
};
return new SearchView();
})();
search.html
<script type="text/javascript" src="media/scripts/Modules/App.js"></script>
<script type="text/javascript" src="media/scripts/View/SearchView.js"></script>
<script type="text/javascript">
View.setUrl('http://www.set.com/');
View.SearchView.loadEventBindings();
</script>
このコードは Chrome と Firefox では正常に動作しますが、IE ではエラーがスローされます。
'
View.SearchView
' はnull
オブジェクトかどうか
IE はこのようなオブジェクトの作成方法をサポートしていませんか?