2016-12-01 48 views
1

我試圖在我的廣告素材中使用Safeframe外部方API,但我在控制檯中收到了「$ sf not defined」。儘管這裏所說的內容看起來像是safeframe外部派對api不可用: https://support.google.com/dfp_premium/answer/6023110?hl=en

爲什麼Google在其幫助文檔中有這樣的說法?我可能錯過了一個步驟,但我的創意可以在Creative Preview Tool(http://publisherconsole.appspot.com/safeframe/creative-preview.html)中使用。

請幫忙!客戶的廣告有被耽誤的風險。

回答

0

晚會稍晚,但DFP SafeFrame API運行良好。問題是文檔很差,很難實現。

你還沒有分享過任何代碼,我不能告訴你你做錯了什麼。

下面是一個可以很好地爲您服務的示例。

它使用的SafeFrame API來檢測inscreen這樣你就可以開始動畫:

<script type="text/javascript"> 
var sfAPI = window.sfAPI || $sf.ext; 

window.onload = function() { 
    var inscreen = false; 

    var refreshIntervalId = setInterval(function() { 
     if(sfAPI.inViewPercentage() == 100) { 
      // Start animation if inscreen 
     } 
    }, 500); 
}; 
</script> 

Here是DFP中的SafeFrame API函數的文檔。

0

看起來,Safeframe API在html5廣告素材中不可用。 ext.js加載到父框架中,無法從跨源廣告素材框架訪問。

screenshot

1

正在閱讀有關安全框架和你一樣,我發現這個$ SF變量來爲未定義。但這些是我找到解決方案的方式。

  1. 轉到任何發佈商已實施安全框架的網站。我想這個網站https://www.w3schools.com/html/default.asp現在徘徊在添加並檢查一下,看看iframe中,你會發現在iframe標籤這個屬性

數據是-的SafeFrame =「真」

enter image description here

現在轉到開發人員工具的控制檯中該iframe的上下文。在Chrome中,如果您檢查該廣告,您將自動轉到控制檯中的iframe上下文。

一旦你在iframe的控制檯上,打這個命令

window.sf_.cfg.initialGeometry;

這會給你一些安全框架文檔中提到的屬性。 https://sourceforge.net/p/safeframes/wiki/How-To/

{ 
    "windowCoords_t": 24, 
    "windowCoords_r": 1236, 
    "windowCoords_b": 720, 
    "windowCoords_l": 65, 
    "frameCoords_t": 128, 
    "frameCoords_r": 964, 
    "frameCoords_b": 218, 
    "frameCoords_l": 236, 
    "styleZIndex": "auto", 
    "allowedExpansion_t": 0, 
    "allowedExpansion_r": 128, 
    "allowedExpansion_b": 0, 
    "allowedExpansion_l": 0, 
    "xInView": 1, 
    "yInView": 1 
} 

你可以看到左,右,上,下方框架座標。 xInView和yInView以十進制值的形式給出,乘以100得到百分比。

感謝。這是我所能達到的日期。我認爲他們會在以後提供更多信息。

上述解決方案適用於Internet Explorer和Chrome/Chromium。

在firefox中,在iframe上下文中定義了一個變量$ sf。您只需進入iframe上下文並從窗口開始獲取信息。$ sf

相關問題