2013-01-03 68 views
4

在使用GAS HtmlService的Web應用程序中,我需要獲取當前頁面的url以在模板中構建新鏈接。獲取當前頁面url

網絡應用程序將在谷歌網站頁面(氣體作爲小工具)運行,但也獨立位置

我想「變種PAGEURL = document.location.href」然後像遵循HTML模板中使用PAGEURL。我知道這是錯的,但我迷路了,對不起。

<a href="<?= pageUrl + "?item=xyz" ?>" >Item xyz link</a> 

感謝,福斯托

回答

4

您可以通過ScriptApp得到一個Web應用程序的網址:

<a href="<?= ScriptApp.getService().getUrl() + "?item=xyz" ?>" >Item xyz link</a> 

並且你可以通過SitesApp得到網站的網址:

SitesApp.getActivePage().getUrl() 

儘管我不認爲這對於你所描述的內容實際上是有用的,因爲你不能向它添加有用的查詢參數。腳本在iframe中運行,因此雖然可以在客戶端上使用document.location,但它無論如何不會對您有所幫助。該URL已被清理,並且服務標識被刪除。

+0

有沒有辦法讓實際的URL在這兩種情況下,像使用document.location.href? –

+1

沒有。該腳本在指向script.google.com/blank的iframe中運行,因此您得到的「實際」網址就是這樣。 –

+0

感謝Corey的支持,我將不得不尋找另一種方法 –

0

你能買得起jQuery路線嗎?

$(document).ready(function() { 

var currentURL = window.location; 

$('#myLink').prop('href', currentURL); 


}); 

則...

<a id="myLink" href="">Link to somewhere</a> 
+0

這是行不通的...... window.location目前指向script.google.com/blank,行爲不保證這種方式(但我幾乎可以保證它永遠不會出現在瀏覽器欄中的網址)。這裏有一些iframe可以補充Caja的功能,並且無法讀取window.location,而沒有通過ScriptApp授予的明確權限是有意的。 –

+0

我寧願不使用jQuery,但是我嘗試了類似的東西,但它不起作用 –