2012-06-21 47 views
1

我有一個JS和CSS文件序列,這些文件正在使用modernizr.load()函數(這是yepnope.js)加載並注入頁面。但是我也想加載一些HTML代碼片段,將它們放入腳本標籤中,稍後在我的javasscript代碼中使用它們。使用yepnope/modernizr.load()加載HTML代碼片段

HTML代碼片段位於遠程服務器上(例如:domain.com/template/default/tweetlist),但是當我加載此文件時,它立即執行,導致錯誤。我可以禁用此執行(通過在URL之前添加!noexec)並停止這些錯誤,但我不知道內容的位置。該回調不返回響應主體。

scriptArray.push({ 
    load: "noexec!domain.com/template/default/"+widgetType, 
    callback: function (url, result) { 
     console.log("Template loaded!"); 
     // code to handle response body should go here 
    } 
}) 

這是我到目前爲止的代碼,我現在停留在該註釋行(5)。

btw:這不是一個跨域問題。內容被加載,並且當noexec被禁用時的錯誤證明了這一點。

+0

+1我無法找到它......但我沒找到是你的pastebin貼:P http://pastebin.com/5GsadhTJ –

回答

0

我發現了一個溶劑/破解我的問題。我用javascript封裝了模板文件的內容,所以Modernizt腳本不會拋出錯誤,並且新的var在回調中可用。

這是(部分)的PHP文件:

$template = file_get_contents($requestFilepath); 
$template = str_replace("\r","",$template); 
$template = str_replace("\n","",$template); 
$template = str_replace("\t","",$template); 
$template = str_replace("\r\n","",$template); 
$template = str_replace("\"","'",$template); 

echo 'var template = "'.$template.'"'; 

這是JavaScript部分:

$("body").append('<script type="text/html" id="tpl_'+templateName+'">'+template+'</script>');