2013-08-09 3 views
2

Я создал таблицу на Google Диске, и я собрал учебную презентацию с помощью презентаций google, чтобы продемонстрировать пользователям, как использовать электронную таблицу и почему она лучше, чем мы это делали раньше.Как открыть веб-браузер с помощью скрипта Google Apps?

Что бы я хотел, это окно сообщения, которое появляется, когда электронная таблица открывается, и спрашивает, не видел ли этот человек показ учебника. Если пользователь нажимает «Нет», я бы хотел либо открыть новую страницу в браузере, чтобы показать им презентацию, которую я опубликовал, либо показать презентацию в пользовательском пользовательском интерфейсе.

Я искал часы и не могу понять это. Это возможно? Спасибо за помощь!

Я новичок в форуме, поэтому, пожалуйста, дайте мне знать, если я разместил это неправильно. Благодаря!

+0

Это можно сделать с помощью скриптов приложений (Совет: используйте панель пользовательского интерфейса с якорем в ней). Но это поможет указать, что вы уже пробовали, и включить код своей попытки. – Srik

+2

Возможный дубликат [Скрипт Google Apps для открытия URL-адреса] (http://stackoverflow.com/questions/10744760/google-apps-script-to-open-a-url) – studgeek

ответ

2

Что-то вроде этого это довольно хорошо.

Я использовал кнопку поддельный, чтобы сохранить «выглядеть и чувствовать себя» в соответствии с другой кнопкой, я просто добавил ссылку невидимую на нем ;-)

function alertLink() { 
    var doc = SpreadsheetApp.getActiveSpreadsheet(); 
    var app = UiApp.createApplication().setTitle('Message').setHeight('100').setWidth('400'); 
    var panel = app.createVerticalPanel().add(app.createHTML('Did you see my beautiful <b>Tutorial</b> ?')); 
    var grid = app.createGrid(1,2).setWidth('400'); 
    var closeHandler = app.createServerHandler('close'); 
    var b1 = app.createButton("NO and I'd like to").setTitle('go to the tutorial in a new tab'); 
    var b2 = app.createButton("YES and I don't want to see it again",closeHandler).setTitle('close this window'); 
    var link = app.createAnchor('XXXXXXXXXX','http://www.google.com').setStyleAttributes({'zIndex':'1' , 'position':'fixed' , 'top':'25' , 'left':'20', 'color':'transparent' }).setTitle('go to the tutorial in a new tab'); 
    var G1 = app.createVerticalPanel().add(b1).add(link); 
    grid.setWidget(0,0,G1).setWidget(0,1,b2); 
    app.add(panel).add(grid) 
    doc.show(app) 
} 

function close(){ 
    return UiApp.getActiveApplication().close(); 
} 

Просто используйте onOpen курок, если вам хотите, чтобы он выполнялся автоматически по электронной таблице. (Или переименовать основную функцию как onOpen())

Вот как это выглядит:

enter image description here

+0

UiApp устарел. Ссылка: https://developers.google.com/apps-script/reference/ui/ui-app –

+0

@ Rubén: вы это сделали? и если да, то почему? –

+0

Да, потому что, ИМХО, использование устаревшего сервиса делает этот ответ бесполезным в наши дни. –

0

Для onOpen триггера, это, безусловно, лучше UX предложит пользователю диалоговое окно с предлагающей вариант чтобы открыть URL-адрес, а не открывать URl автоматически. См. serge's answer here, как это сделать (что более актуально, чем устаревший код в его ответе на этот поток).

Но для других триггеров (например, щелчок пункта меню) check out my answer here, чтобы открыть URL-адрес автоматически.

Смежные вопросы