これが私の状況です。css 3 列の流動的なレイアウトがあり (最終的に聖杯をマスターしました。皆さんに感謝します!)、左側の列には Google Adsense 広告があります。これに精通している方は、広告サイズがあまり柔軟ではありませんが、列の幅に基づいて広告を変更する方法があるかどうかに興味があります. 現在、このコラムは 20% にとどまっているので、古き良き時代の「If - Else」ステートメントでうまくいくのではないかと考えていますが、まだ機能していません。ロジックは、幅 180 ピクセルの広告 (a) と幅 280 ピクセルの広告 (b) の 2 つの広告があるとします。したがって、列が 280 ピクセルより大きい場合は広告 b が表示され、そうでない場合は広告 b が表示されます。宣伝する 他の誰かがこれをしましたか?ありがとう!
1 に答える
ここでいくつかの考慮事項があります。まず、この質問に css でタグを付けました。ロジックによって表示されるべきではないと判断された広告を css を使用して非表示にしたいだけの場合、それを行うのは簡単ですが、これはひどい考えです。1 つには、読み込まれた広告を非表示にすることになりますが、これは Google が特に禁止しています。次に、最初に読み込まれた広告を非表示にすることになり、ページで最も「価値のある」クリックが発生する場合があります。価値の低い広告が表示されたままになるのは望ましくありません。
あなたがする必要があるのは、ページの読み込み時に JavaScript を使用してビューポートの幅を決定し、話している広告スロットに読み込む広告コードを選択することです。この戦略が機能するには、正しいビューポート幅を取得する必要があるため、できるだけ多くのブラウザーでこれをテストしてください。何らかの理由で機能しない場合は、フォールバックによってレイアウトが破滅的に崩壊しないようにしてください。この方法の欠点は、ユーザーがページの読み込み後にビューポート サイズを変更すると、広告が境界を壊してしまうことです。少なくとも CSS を使用して、広告の親 div ( overflow: hidden;
) を非表示にするかトリミングして、ビューポート サイズの変更によってレイアウトが崩れないようにすることで、この特殊なケースのシナリオを軽減できます。