2012-06-04 38 views
0

我正在寫一個腳本,允許用戶登錄到該網站。我已經完成了一切,但我似乎無法找到一種方式來打開一個新的鏈接後,用戶通過按登錄按鈕進行身份驗證。如何通過按下Google App腳本UIApp中的按鈕打開當前窗口中的鏈接?

步驟:

  1. 用戶輸入用戶名和密碼,
  2. 的用戶進行身份驗證
  3. 如果用戶在一個鏈接中打開用戶的配置文件中的電子表格存在(這是鏈接,我可以」 t似乎工作)。

非常感謝您的幫助。

回答

0

這裏是一個工作示例:類型的名稱之一,如果3個字母是正確的,那麼鏈路出現,可以在相應的片

function showDialog() { 
    var app = UiApp.createApplication(); 
    app.setTitle("AnchorTest"); 
    var panel = app.createVerticalPanel(); 
    var txtBox = app.createTextBox().setName("tbox"); 
    var subm = app.createAnchor('OK', 'href').setId('subm').setVisible(false); 
    var fake = app.createButton('Enter your lastName').setId('fake'); 
    panel.add(txtBox).add(subm).add(fake); 
    var keyHandler = app.createServerHandler("textkey"); 
    txtBox.addKeyUpHandler(keyHandler); 
    keyHandler.addCallbackElement(panel); 
    var clickHandler = app.createServerHandler("showurl"); 
    subm.addClickHandler(clickHandler) 
    clickHandler.addCallbackElement(panel); 
    app.add(panel); 
    var doc = SpreadsheetApp.getActive(); 
    doc.show(app); 
} 
// 
function textkey(e){ 
    var app = UiApp.getActiveApplication(); 
    var href = app.getElementById('subm'); 
    var fake = app.getElementById('fake'); 
    href.setVisible(false); 
    fake.setVisible(true); 
    var txtValue = e.parameter.tbox; 
    var data=SpreadsheetApp.getActiveSheet().getDataRange().getValues(); 
    Logger.log(data) 
    Logger.log(txtValue.length); 
    if (txtValue.length>2){ 
     for(nn=0;nn<data.length;++nn){ 
     Logger.log(txtValue+' '+data[nn][0]) 
      if(data[nn][0].match(txtValue)==txtValue){ 
      href.setHref(data[nn][1]).setHTML('ACCEPTED').setVisible(true); 
      fake.setVisible(false); 
      break; 
     } 
    } 
    } 
return app; 
} 
// 
function showurl(e){ 
    var app = UiApp.getActiveApplication(); 
    app.close(); 
    return app; 
} 

下面是數據(A欄& B)

> lastName url 
> serge https://sites.google.com/site/appsscriptexperiments/home 
> john https://sites.google.com/site/appsscriptexperiments/home/a-database-project 
> paul https://sites.google.com/site/appsscriptexperiments/home/a-simple-search-tool-ui 
> mike https://sites.google.com/site/appsscriptexperiments/home/doc-list-viewer 
+0

謝謝。我現在知道了。我將嘗試找到一種方法來完成這項工作,但是可以肯定的是,沒有類似於JavaScript的windows.open()的功能,我可以使用它嗎? –

0

您是否嘗試過anchor,我認爲它符合您的要求嗎?您可以在用戶通過身份驗證後將其顯示出來。

+0

謝謝你的回覆。我一直在尋找錨點,但我似乎無法找到適用於它的方法。有可能提供一個例子嗎? –

+0

[此腳本是文檔列表查看器](https://sites.google.com/site/appsscriptexperiments/home/doc-list-viewer),用於顯示您的Google文檔文件夾的內容,當您選擇它顯示的文檔時使用錨點小工具打開它的鏈接 –

+0

感謝您的幫助。如果我遺漏了一些我很抱歉但我不需要可點擊的鏈接,而是將用戶從當前頁面重定向到某個函數中的新頁面。在JavaScript中,我會使用類似windows.open('www.site.com','_self',false)的東西。 –

相關問題