2016-04-24 9 views
0

O365アプリケーションを作成していて、2つの.aspxファイルがあります。ユーザーがO365メールアプリケーションをクリックすると、これらのページをメールの件名。正規表現に基づいてO365メールアプリケーションで異なるページを読み込む方法

シナリオ1:負荷のPage1

シナリオ2:私は中間の.jsを有する試みた負荷PAGE2

:メールの件名は、 '#' 結果が含まれていないメールの件名は、 '#' 結果を含みます私がロジックを書いたファイル しかし、私がwindow.location = "path_to_aspx_file"を実行すると、 jtmlファイルはロードされますが、jsファイルは実行されません。

私の現在の実装:

私が持っているLandingLogic.js手探りのビットの後

(function() { 
    "use strict"; 

    //The Office initialize function must be run each time a new page is loaded 
    Office.initialize = function (reason) { 
     $(document).ready(function() { 
      var item = Office.cast.item.toItemRead(Office.context.mailbox.item); 
      var sub = item.subject; 
      if (sub.indexOf("some text") > -1) {         
       window.location = "http://localhost:51776/File1.aspx"; 
      } 
      else { 
       window.location = "http://localhost:51776/File2.aspx"; 
      } 
     }); 
    }; 
})(); 

。 これらのファイルのそれぞれに移動できますが、File1.aspxとFile2.aspxからメールの件名にアクセスする方法がわかりません。

+0

を追加私はwindow.loadを行うときに、」何を意味するか明確にすることができ= "path_to_aspx_file"、htmlのみがロードされますが、jsファイルは実行されません "。あなたは正しい軌道に乗っているように思えますが、私はあなたが走っている問題が何かを知る手がかりがありません。 – MrPiao

+0

Graph APIまたはOutlookアドインを使用しているアプリについてお話ししていますか? –

+0

@MrPiao:タイプミスの謝罪、私はwindow.location = "path_to_aspxファイル"を使用していますが、今質問に詳細を追加しました。 –

答えて

0

Office JavaScript APIを使用して件名を取得する前にOfficeコンテキストを初期化しましたか?

Home.js::私たちは以下のようにJavaScriptを含めることができ、簡単にHTMLページをリダイレクトするには

/// <reference path="../App.js" /> 

(function() { 
    "use strict"; 

// The Office initialize function must be run each time a new page is loaded 
Office.initialize = function (reason) { 
    $(document).ready(function() { 
     app.initialize(); 

     RedirectHTMLPage(); 
    }); 
}; 

function RedirectHTMLPage() { 
    var subject = Office.context.mailbox.item.subject; 
    if (subject.indexOf("#") != -1) { 
     window.location.href = "https://localhost:44300/page1.aspx"; 


    } else { 
     window.location.href = "https://localhost:44300/page2.aspx"; 

    } 

} 

})(); 

HTMLページをリダイレクトするための:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8" /> 
<meta http-equiv="X-UA-Compatible" content="IE=Edge" /> 
<title></title> 
<script src="../../Scripts/jquery-1.9.1.js" type="text/javascript"></script> 

<link href="../../Content/Office.css" rel="stylesheet" type="text/css" /> 
<script src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js" type="text/javascript"></script> 

<!-- To enable offline debugging using a local reference to Office.js, use:      --> 
<!-- <script src="../../Scripts/Office/MicrosoftAjax.js" type="text/javascript"></script> --> 
<!-- <script src="../../Scripts/Office/1/office.js" type="text/javascript"></script> --> 

<link href="../App.css" rel="stylesheet" type="text/css" /> 
<script src="../App.js" type="text/javascript"></script> 

<link href="Home.css" rel="stylesheet" type="text/css" /> 
<script src="Home.js" type="text/javascript"></script> 
</head> 
<body> 


</body> 
</html> 

私が試してみました論理を書いた中間の.jsファイルを持っていますが、window.load = "path_to_aspx_file"を実行すると、htmlだけがロードされますが、jsファイルは実行されません。

「window.load」を使用して詳細を共有してもよろしいですか?

+0

間違いの申し立て、私はwindow.locationを使用しています。 私は今同様の実装をしていますが、今すぐpage1.aspxとpage2.aspxからメールの件名にアクセスする方法を教えてください。 –

0

フェイシュウ回答は正しいです。あなたはfile2.aspxから件名を取得したい場合は、Office.initializeイベント内で参照してfile1.aspxと同じアクセス対象office.js

<script src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js" type="text/javascript"></script> 
関連する問題