我想要的是什么:
我有一种情况,我想在我的网站上显示联盟广告。这些基本上是javascripts,其中包含内容。由于我的网站有响应式设计,我想根据jQuery innerwidth属性加载不同的广告。总结一下:我想根据innerwidth属性加载不同的javascripts。
我做了什么:
我在hiddenfields中加载了两个不同的javascripts,根据内部宽度,我使用div.html()命令显示其中一个。但是,当用户提交帖子(ASP.NET防御XSS)时,这会产生“潜在危险的request.form”错误,因为加载的内容具有危险的特征,这是有道理的。
我可以在所有页面上说“ValidateRequest = false”,但这是一个可怕的解决方案,会打开很多安全问题。
我的想法......
最好的方法是从服务器端加载广告,但我们不知道这里的浏览器宽度。从我能够阅读的内容来看,似乎很难/不可能在page_load上获得内部宽度值。
但我想加载广告而不会产生潜在的危险请求。
关于如何解决这个问题的任何想法?
答案 0 :(得分:0)
我最终得到的解决方案是在Page_Load中将HTML设置为不可见的div,DivA和DivB。
然后,在JavaScript中,根据innerwidth属性(以及resize事件),我可以将div设置为visible / invisible。
与我试图做的相比,非常简单的解决方案。是的,它提供了更多的渲染HTML,但至少它可以工作,而且速度很快。