1

私は、テストとターゲットの専門家ではありません。私はアプリケーション アーキテクトです。昨日、Test & Target の経験が豊富な同僚と話し合いました。今日、私の Web サイトでは、テストとターゲットのコンテンツが以下の手順でレンダリングされます。

1) ページの読み込み 2) T&T URL への AJAX 呼び出しが行われます。応答は、複数行の document.write を含む JS です。3) その JS がコンテンツを実行すると、AKA HTML マークアップがページにレンダリングされます。

上記の手順では、検索エンジンがそのコンテンツをクロールするのに役立ちません。私は同僚に、JS(document.write) レスポンスを送信する代わりに、コンテンツ (html) だけを送ってもらえないかと尋ねました。それが可能であれば、サーバー側自体からコンテンツを呼び出し、検索エンジンがクロールするのに応じてコンテンツを追加します。

彼は、それはまったく不可能だと言います。私は信じていません。私の Web アプリケーション アーキテクチャの経験からすると、これは可能なはずです。しかし、製品に関する私の知識はゼロです。

誰かがそれが可能である場合は、それを行うための手順を提供してください. 同僚と共有します。どうもありがとう。

アップデート

一時的な解決策として。C# .Net で document.write JS を aspx ファイル内で実行する方法はありますか。たとえば、document.write("test") を実行するとします。テキスト テストは、document.write js コードのない応答の一部である必要があります。

よろしく、 Ravishankar Rajendran

4

1 に答える 1

0

mbox.js ファイルで document.write を再定義します。

    document.write=function(text)
      {
      var foo = document.createElement("span");
      var bar = text;
      foo.textContent = bar;
      
      return foo.outerHTML;
      }

次に、マークアップの文字列を返します。

document.write は、以下に示す状況でのみ動的タグ管理によって使用されます。

動的タグ管理スイッチ プラグインを使用したステージング ライブラリの読み込みには、document.write が使用されます。

回避策: 動的タグ管理スイッチ プラグインを使用してライブラリを切り替えるのではなく、ページ コードでステージング ライブラリを明確に参照して、ステージング環境でテストします。

動的タグ管理を介して JS および HTML スクリプトを同期的にロードするには、document.write を使用します。

回避策: 動的タグ管理によるスクリプトの同期ロードでは、document.write を回避できません。したがって、このコンテンツ タイプが使用されている場合、すべてのサードパーティ スクリプト (JS および HTML) を動的タグ管理で非同期にロードして、document.write を回避する必要があります。すべてのコードの依存関係を常に考慮してテストし、非同期読み込みで目的の動作が実現されることを確認してください。

参考文献

于 2015-06-11T02:59:06.140 に答える