次のように定義された独自のカスタム Javascript オブジェクトがあります。
function NewObject(){
this.fetchConfig();
}
NewObject.prototype.fetchConfig = function(params){
[Code]
}
簡潔にするために実際の実装は省略しましたが、上記以外に特別なことは何もしていません。問題は、実際に Google Analytics を埋め込むのと同じようにスクリプトを埋め込むと (下記参照) Uncaught TypeError: Object #<NewObject> has no method 'fetchConfig'
、.
以下の非同期コードを使用するまで、この問題は見たことがありませんでした。これは、Google アナリティクスではなく、私のスクリプトを指すように基本的に Google が変更したものです。
私が使用する埋め込みコード:
<script>_object_id = 19782135;
var tb = document.createElement('script'); tb.type = 'text/javascript';
tb.async = true; tb.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'cfurl.cloudfront.net/script.min.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(tb, s);
</script>
この問題は、async プロパティの使用によって引き起こされる可能性がありますか (たとえば、プロトタイプが変更される前にスクリプトが実行されるなど)? Web デバッガーを使用して NewObject のプロトタイプを検査しようとしましたが、コンストラクターしか表示されません。私が作成した他のメソッドはデバッガーにまったく表示されません...