2014-01-07 19 views
0

編輯Here's a jsfiddle for the whole thing。如果OpenX資源被刪除,文本將加載,但只要它在那裏,它就不會加載。如何使標記模式下的Response.js加載OpenX廣告(或任何JavaScript)?

我們擁有自己的託管OpenX廣告服務器,並且正在致力於一個響應式網站。我嘗試使用Response.js在全屏網站上加載728x90橫幅,並在移動網站上加載300x50橫幅。我們正在使用OpenX單頁呼叫方法。

我使用Response.js的標記模式嘗試加載正確大小的廣告,該廣告在我有noscript圖像版本(只是一個標準img標記)的情況下起作用,但在加載javascript時無效廣告的版本。

下面是在Response.js

<script type="text/javascript"> 
Response.create({ 
prop: "width" // property to base tests on 
, prefix: "ad" // custom aliased prefixes 
, breakpoints: [0,320,961] // custom breakpoints 
}); 
</script> 

這裏斷點設置是我使用的橫幅代碼:

<div 
data-ad320="<script type='text/javascript'><!--// <![CDATA[ 
    OA_show(75); 
// ]]> --></script>" 
data-ad961="<script type='text/javascript'><!--// <![CDATA[ 
    OA_show(22); 
// ]]> --></script>" 
> 
noscript ad goes here 
</div> 

隨着有腳本(如上圖所示),該網站只加載廣告,並只是在那裏試圖加載頁面的其餘部分,as seen here。如果腳本不存在(如下所示),它會完美加載所有內容。

data-ad320="<img src='small ad url here'>" 
data-ad961="<img src='big ad url here'>" 

任何幫助或至少某些方向,將不勝感激。

回答

0

我一直在尋找這個,因爲我想用OpenX adserver實現自適應廣告。目前它不適合你的原因是,來自OpenX的JavaScript包含document.write(),當您的頁面的DOM加載後加載的document.write()將覆蓋所有內容,因此您只剩下第一個廣告而沒有其他內容。

周圍的工作,我拿出在iframe

<div 
data-min-width-320='<iframe src="test.html" width=100% height=100% frameBorder="0"> </iframe>' 
data-min-width-961='<iframe src="test2.html" width=100% height=100% frameBorder="0"> </iframe>' 
> 
text-only @ <320px and no-js 
</div> 

的test.html的是實際加載腳本和test2.html包含每個廣告單元的不同的JavaScript。

我不是100%確定這是否是最好的解決方案,現在我只是想出了它,因爲沒有人回答過這個問題,我想我會馬上發帖,如果其他人有任何問題其他建議請發佈。

+0

我最終完全採用了不同的路線,只是使用一些更簡單的JavaScript來在手機上加載小廣告,在較大的設備上加載較大的廣告。由於OpenX的工作方式,我無法讓它與任何更真實響應的腳本一起工作,所以我沒有實時縮放,但沒有人會這樣做。您的iframe解決方案看起來好像也一樣,因爲加載的頁面可以運行廣告腳本。祝你好運。 – bryanwoj

相關問題