2016-11-22 7 views
3

私はangularjsサイトのためにノーロンシールを設定しようとしています。ノートンスクリプトはそのロードごとに、時間は次のように私のコンソールに警告が、angeljsサイトのノーロンシールを設定するには?

「『文書』に 『書き込み』を実行に失敗しましたと言う:非同期にロードされてから文書に を書き込むことはできません が明示的に開かれていない限り、外部スクリプト。 "

スクリプトが非同期に読み込まれていることがわかりました。つまり、ドキュメントの解析状態から切り離されています。 JSエンジンがdocument.writeをどこのページで実行すべきかを知ることは、まったく無意味です。 私はpostscribe

を使用するよりもより良い方法がある場合は任意の助けのために、このrun.Thanksを作るためにどのような方法がありますが、私は知りたいnow.But postcribeを使用しています。

+0

[Norton Secure Site Sealの読み込みを延期するにはどうすればよいですか?](http://stackoverflow.com/questions/14872978/how-to-defer-loading-of-a-norton-secure-site-シール) –

+0

この特定の質問には、複数の答えがあります。問題はあなたが述べた 'document.write()'にありますが、スクリプトの読み込みを延期することで簡単に遅延させることができます。 Googleだけでエラーメッセージが表示され、複数の回答が見つかります。 –

+0

私のコメントを見て、私はあなたに答えて質問にリンクを掲示した。あなたの質問は、同じ回答を持つ他の複数の質問とほぼ同じです。このスレッドの唯一の答えはサードパーティのライブラリが必要ですが、それは必要ありません。私は失礼であるつもりはありません、私はちょうど前に答えられたときにこれを尋ねなければならないとは思わない。 –

答えて

5

今日は同じ問題を抱えていたとinterwebsを検索し、私の同僚のいくつかを議論した後、私たちは、次の解決策を考え出した:あなたはpostcribeを使用する必要があるすべての

まず:https://github.com/krux/postscribe

これはすべてのdocument.write呼び出しを置き換えるので、ブラウザからこのエラーが表示されなくなります。

私の場合、私は次のようにします。

.postscribe('#seal', '... put the norton seal script tag here ..'); 

を次に、あなたは、あなたのサイト上でdiv id="seal"どこかを持っている必要があり、それが実際のシールの画像に置き換えられます。

ただし、divが角形アプリケーションの内側にある場合は、角形アプリケーションの内部にpostscribeと呼び出す必要があります。

postリンク機能を追加したディレクティブ(divを保持)を作成してこれを行いました。ポスト関数では、私は単に上記のようにpostscribeを呼び出します。 この方法が必要な場合はスニペットを書くことができます。

+0

答えをありがとう。私は今 'postcribe'を使用しています。しかし私は、誰かが' postscribe'を使わずにより良いアプローチを提案できるかもしれないと考えました。 –

+0

角度アプリで実際にポストスクライブをインポートして使用しましたか? – Anthony

+0

実装方法については、このplunkerが見つかりました。http://embed.plnkr.co/FHSVKDL2rv8TAQyTeqE2/ postscribe関数をngAfterViewInitに追加しました。 – Anthony

関連する問題