2012-08-14 83 views
1

在試圖矇混過關的怪異「的觀衆不能發表評論」的問題在谷歌網站*解決方法Page.setHtmlContent錯誤,我寫了下面愚蠢的測試腳本:與嵌入的小工具

function addComment(e) { 
    var currentPage = SitesApp.getActivePage(); 
    var pageHTML = currentPage.getHtmlContent(); 
    var newHTML = pageHTML.replace("BEGIN", "BEGIN "+Session.getActiveUser().getEmail()); 
    currentPage.setHtmlContent(newHTML); 
}; 

當用戶按下按鈕,將當前頁面內容應該改爲包括當前用戶的電子郵件地址後立即開頭單詞(我手動inserted-,如果這個工程我只是堅持在一個註釋標記thingamabob。

這更或更少的作品。問題是,setHtmlContent調用各種各樣的奇怪的事情,首先包含按鈕的應用程序腳本小工具。這裏的小工具之前:

<img src="https://www.google.com/chart?chc=sites&amp;cht=d&amp;chdp=sites&amp;chl=%5B%5BGoogle+Apps+Script'%3D20'f%5Cv'a%5C%3D0'10'%3D499'0'dim'%5Cbox1'b%5CF6F6F6'fC%5CF6F6F6'eC%5C0'sk'%5C%5B%22Apps+Script+Gadget%22'%5D'a%5CV%5C%3D12'f%5C%5DV%5Cta%5C%3D10'%3D0'%3D500'%3D197'dim'%5C%3D10'%3D10'%3D500'%3D197'vdim'%5Cbox1'b%5Cva%5CF6F6F6'fC%5CC8C8C8'eC%5C'a%5C%5Do%5CLauto'f%5C&amp;sig=TbGPi2pnqyuhJ_BfSq_CO5U6FOI" data-origsrc="https://sites.google.com/a/macros/kstf.org/s/AKfycbzEsLBQucXCZZJwEh9c3RYhn81uJucvz3R5vHeJ2w/exec" data-type="maestro" data-props="align:left;borderTitle:Apps Script Gadget;height:200;showBorder:false;showBorderTitle:false;" width="500" height="200" style="display:block;text-align:left;margin-right:auto;"></div> 

在這裏它是後:

<img src="https://www.google.com/chart?chc=sites&amp;cht=d&amp;chdp=sites&amp;chl=%5B%5BGoogle+Gadget'%3D20'f%5Cv'a%5C%3D0'10'%3D499'0'dim'%5Cbox1'b%5CF6F6F6'fC%5CF6F6F6'eC%5C0'sk'%5C%5B%22Include+gadget+(iframe)%22'%5D'a%5CV%5C%3D12'f%5C%5DV%5Cta%5C%3D10'%3D0'%3D500'%3D197'dim'%5C%3D10'%3D10'%3D500'%3D197'vdim'%5Cbox1'b%5Cva%5CF6F6F6'fC%5CC8C8C8'eC%5C'a%5C%5Do%5CLauto'f%5C&amp;sig=CvjXRgodwYVKPvmsyZR7EbHx2uM" data-igsrc="http://0.gmodules.com/ig/ifr?mid=0&amp;synd=trogedit&amp;url=http%3A%2F%2Fwww.gstatic.com%2Fsites-gadgets%2Fiframe%2Fiframe.xml&amp;up_iframeURL=%2Fa%2Fmacros%2Fkstf.org%2Fs%2FAKfycbzEsLBQucXCZZJwEh9c3RYhn81uJucvz3R5vHeJ2w%2Fexec%3Fmid%3DACjPJvFOqF88RUUrqDeapp1PHF_lI3Xc3g5Hd3euTifzUYeaILmTTlMfBQ13yI_6%26bc%3Dtransparent%26f%3DArial%2C%2BVerdana%2C%2Bsans-serif%26tc%3D%2523444444%26lc%3D%25230033cc&amp;up_scroll=no&amp;w=100%&amp;h=200" data-type="ggs-gadget" data-props="height:200;igsrc:http#58//0.gmodules.com/ig/ifr?mid=0&amp;synd=trogedit&amp;url=http%3A%2F%2Fwww.gstatic.com%2Fsites-gadgets%2Fiframe%2Fiframe.xml&amp;up_iframeURL=%2Fa%2Fmacros%2Fkstf.org%2Fs%2FAKfycbzEsLBQucXCZZJwEh9c3RYhn81uJucvz3R5vHeJ2w%2Fexec%3Fmid%3DACjPJvFOqF88RUUrqDeapp1PHF_lI3Xc3g5Hd3euTifzUYeaILmTTlMfBQ13yI_6%26bc%3Dtransparent%26f%3DArial%2C%2BVerdana%2C%2Bsans-serif%26tc%3D%2523444444%26lc%3D%25230033cc&amp;up_scroll=no&amp;w=100%&amp;h=200;mid:0;spec:http#58//www.gstatic.com/sites-gadgets/iframe/iframe.xml;up_iframeURL:/a/macros/kstf.org/s/AKfycbzEsLBQucXCZZJwEh9c3RYhn81uJucvz3R5vHeJ2w/exec?mid=ACjPJvFOqF88RUUrqDeapp1PHF_lI3Xc3g5Hd3euTifzUYeaILmTTlMfBQ13yI_6&amp;bc=transparent&amp;f=Arial,+Verdana,+sans-serif&amp;tc=%23444444&amp;lc=%230033cc;up_scroll:no;width:100%;" width="500" height="200" style="display:block;text-align:left;margin-right:auto;" class="igm"></div> 

是最好的,我可以告訴大家,「嗨,你請設置此爲您的HTML」的方法似乎是在做一些欺騙到確保文檔已被正確解析,但它正陷入iframe重定向的追尾效應。如果我可以交付一些DOM或類似的東西,這不會是一個問題。

有什麼建議嗎?這只是一種練習,看看我是否可以巧妙地設計訪客評論系統,所以我可能會採取另一種方法。

*:我瞭解其他幾種處理訪客評論的方法,但是該系統需要能夠在多個網站頁面上工作,適用於應用程序域中的許多網站作者,而無需在網站上進行復雜的設置作者。最後,我會使用其他的東西(可能是我今天上午發現的兩個應用程序引擎論壇系統之一的變體),但這是一個臨時解決方案的快速刺探。下一個臨時步驟是將這些數據保存到站點數據庫,並在小工具本身中佈置註釋。然而,小工具大小並不令人滿意 - 我寧願在頁面中留下評論,而不是在具有自己滾動條的單獨iframe中進行評論。

回答

0

首先,在getEmail()方法不能與消費者賬戶工作或當你的域之外的人訪問的網站(除非你的腳本運行的訪問應用程序的用戶)

接下來,當你改變一個頁面的HTML,它不會立即做出改變,但會在下一次刷新時發生。

話雖如此,你可以做的是讓你的腳本也顯示評論。您可以在腳本中添加顯示以前評論的標籤。

+0

是的,我只需要域名帳戶的電子郵件地址(這些網頁不會向域外的人開放)。這些更改絕對不會立即顯示 - 我必須單擊頁面上的刷新,或點擊其他頁面並返回。發生了什麼事是我上面引用的腳本iframe的混亂。根本問題是使用腳本以某種方式生成評論 - 我最終只是將它們全部嵌入到小工具中,但當評論列表變長時,奇怪的嵌入式iframe看起來並不令人滿意。滾動條應該在頁面上,而不是iframe。 – pfooti 2012-08-14 06:49:23

+0

您不應該(不幸)依賴小工具的HTML代碼。這裏有幾個解決方法 - 一個,將您的評論嵌入到網站頁面本身中,而不是嵌入到小工具中。我已經用了很多成功的地方,在那裏我有一些eyecatcher(在你的情況下是BEGIN),並用評論替換它。否則,您可以擁有一個大型小工具,以便在頁面達到許多評論之前您不會看到滾動條。第三種選擇是在小工具中顯示評論,但以頁面顯示,每次評論5或10條評論。 – Srik 2012-08-14 11:19:02