2017-02-09 19 views
0

私はプログラミングではかなり新しく、楽しくやっています。質問があまりにも明白であり、あまりにもわかっているかのように答えることができれば申し訳ありません... : )Webアプリケーションにhtmlページを追加する

私はGoogle Apps Scriptを使用してWebアプリケーションを作成しようとしていますが、Dreamweaverで最初に設計して、そのHTMLをアプリに使用したいと考えています(「Build A UI」オプションはGoogleスクリプト)。 アプリは、ユーザーの操作に応じて元のhtmlを読み取り、変更できる必要があります。

私は単にこれを行うには考えていたが、それは当然のことながら、動作しませんでした:私はreturn page;を書くが、私はちょうどで、後でフィールドに到達できないとき

function doGet(e) { 
var app = UiApp.createApplication(); 
var page = HtmlService.createHtmlOutputFromFile('MyHtml'); 
app.add(page); 
return app; 
} 

それは、作業を行いますその他の機能、私はvar app = UiApp.getActiveApplication();

を使用================================= EDIT ==== =============

ここにあります私はhtmlページを含むようにWebアプリケーションを必要とする理由について例:「アプリ」は「email_lbl」と呼ばれる任意のオブジェクトが含まれていないため

function showMyEmail() { 
var app = UiApp.getActiveApplication(); 
var email = Session.getActiveUser().getEmail(); 

// Assuming 'email_lbl' is the ID of the already existing target label I want to modify. 
app.getElementById('email_lbl').setText('Your email is: ' + email); 
return app; 
} 

残念ながら、私はそのようにそれを使用することはできません。 だから私は、後で他のサーバー側の機能でUiApp.getActiveApplication();を使用することができますので、アプリにhtmlファイルを埋め込む方法を見つける必要があります。

また、「app」に「page」が含まれていないため、私の最初の例では明らかに空白のページが返されました。 (もちろん、同じ問題...)

================================= EDIT == ===============

何か提案がありますか?創造的な回避策?私はここで行方不明の何か?

私は重複している場合は申し訳ありません。私はどのように説明するのか分かりません...

あなたの注意をよろしく! iyar

+0

あなたは(.GSファイルで)サーバ側のコードに、あなたのWebアプリケーションからのデータを送信する必要がある場合は、 'google.script.run.functionName()'クライアント側のAPIを使用する必要があります。 [Appsスクリプトドキュメントへのリンク](https://developers.google.com/apps-script/guides/html/reference/run)それに精通していない場合は、簡単にご覧ください。私はあなたがそれを使用する必要があることを保証します。それがあなたを助けないなら、コメントを返す。 –

+0

こんにちはサンディー お返事ありがとうございます! 私はこの方法に精通していますが、ユーザーが何かをやっていても問題は始まります。 "app"には "page"が含まれていないため、ページは空白です。私は、Webアプリケーションにhtmlページを埋め込む方法を見つけ出す必要があるので、それが表示され、さらにサーバー側の機能でさらに使用する必要があります。 私はこのような使用の例を示すために私の質問を編集しました。 – iyar

答えて

1

あなたが指摘したとおり、HtmlService自体を返します。あなたのすべてのクライアント側のロジックは、サーバー側で実行されるAppsスクリプトとしてHTMLページで処理されます。したがって、documentまたはwindowへのアクセスを必要とするJavaScriptは、htmlページにある必要があります。これはWebアプリケーションなので、スクリプト内でコードを実行するにはgoogle.script.runにアクセスしてください。

https://developers.google.com/apps-script/guides/html/reference/run
https://developers.google.com/apps-script/guides/web

code.gs

function doGet(e) { 
    var page = HtmlService.createHtmlOutputFromFile('MyHtml'); 
    return page; 
} 

function square(val){ 
    return val*val 
} 

MyHtml:

はでこれとウェブアプリケーションのためにそのドキュメントをチェックしてください。HTML

<!DOCTYPE html> 
<html> 
    <head> 
    <base target="_top"> 
    </head> 
    <body>  
    <p id="val"></p> 
    </body> 
    <script> 
    google.script.run.withSuccessHandler(showVal).square(5); 

    function showVal(returnVal){ 
     document.getElementById('val').textContent = returnVal 
    } 
    </script> 
</html> 
関連する問題