1

私が欲しいもの:

ウェブサイトにアフィリエイト広告を表示したいという状況があります。これらは基本的にjavascriptであり、その中にコンテンツが含まれています。私のサイトはレスポンシブデザインなので、jQueryのinnerwidthプロパティに応じて異なる広告をロードしたいと思います。要約すると、innerwidthプロパティに応じて異なるJavaScriptをロードしたいと思います。

私がしたこと:

隠しフィールドに2つの異なるJavaScriptをロードし、内側の幅に応じて、div.html()コマンドでどちらかを表示します。ただし、ロードされたコンテンツには危険な文字が含まれているため、ユーザーが投稿を送信すると(ASP.NETによるXSSの防御)、「潜在的に危険なrequest.form」エラーが発生します。これは理にかなっています。

すべてのページで「ValidateRequest=false」と言うことができますが、これは多くのセキュリティ問題を引き起こす恐ろしい解決策です。

私の考え...

サーバー側から広告を読み込むのが最善の方法ですが、ここではブラウザの幅がわかりません。私が読んだことから、page_loadでinnerwidth値を取得するのは難しい/不可能のようです。

しかし、私は潜在的に危険な要求をすることなく私の広告をロードしたいと思います。

これを解決する方法について何かアイデアはありますか?

4

1 に答える 1

0

私が最終的に解決したのは、Page_LoadでのHTMLを非表示のdiv、DivAおよびDivBに設定することでした。

次に、JavaScriptで、innerwidthプロパティ(およびresizeイベント)に応じて、divをvisible/invisibleに設定できます。

私がやろうとしていたことと比較して、非常に単純な解決策。はい、それはもう少しレンダリングされたHTMLを提供しますが、少なくともそれは機能し、高速です。

于 2012-11-16T10:10:46.673 に答える