JP2014524069A - プレゼンテーションアプリケーションのための埋め込みウェブビューアー - Google Patents

プレゼンテーションアプリケーションのための埋め込みウェブビューアー Download PDF

Info

Publication number
JP2014524069A
JP2014524069A JP2014514515A JP2014514515A JP2014524069A JP 2014524069 A JP2014524069 A JP 2014524069A JP 2014514515 A JP2014514515 A JP 2014514515A JP 2014514515 A JP2014514515 A JP 2014514515A JP 2014524069 A JP2014524069 A JP 2014524069A
Authority
JP
Japan
Prior art keywords
presentation content
presentation
computer
inline frame
web
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014514515A
Other languages
English (en)
Inventor
レーウ,レベッカ・メレディス
キコエン,キャメロン・デーヴィッド
カルドソ,マルセロ・アウグスト,ジュニア
ゴラミ,ニナ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2014524069A publication Critical patent/JP2014524069A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/438Presentation of query results
    • G06F16/4387Presentation of query results by the use of playlists
    • G06F16/4393Multimedia presentations, e.g. slide shows, multimedia albums
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

プレゼンテーションウェブパーツを利用してプレゼンテーションコンテンツがウェブページ内に埋め込まれる。プレゼンテーションウェブパーツは、プレゼンテーションコンテンツを表示することができるインラインフレーム(「iFrame」)などのウェブ要素を作成するように構成される。プレゼンテーションウェブパーツは、プレゼンテーションコンテンツの様々なスライドを進めることなどによってプレゼンテーションコンテンツを操作するためにプレゼンテーションウェブアプリケーションの機能を呼び出すために内部APIのための、postMessageラッパーなどのメッセージラッパーとして機能する外部アプリケーションプログラミングインターフェイス(「API」)によって構成される。例えば、プレゼンテーションウェブパーツ及び地図ウェブパーツは、ユーザーが地図ウェブパーツを介して都市又は他の場所を選択すると、プレゼンテーションウェブパーツがその選択された場所に関連付けられるプレゼンテーションコンテンツを表示するように、同じウェブページ上に表示されてもよい。他の使用事例が本明細書において提供される。

Description

本発明は、プレゼンテーションアプリケーションのための埋め込みウェブビューアーに関する。
[0001]ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、プレゼンテーションアプリケーションなどのソフトウェアアプリケーションは、従来、コンピューターシステムにローカルにインストールされてきた。そのようなソフトウェアアプリケーションは、通常、ソフトウェアアプリケーションが様々なライセンス契約に従ってインストールされる、特定のコンピューターシステムやコンピューターシステムのグループに関連付けられる。ライセンスを購入して複数のコンピューターシステムにソフトウェアアプリケーションをインストールするコストのほかに、バグ修正、セキュリティ修正及び他の更新のためにアプリケーションを更新する必要性と潜在的なコストが、一部のユーザーがソフトウェアアプリケーションを推奨されるように更新しないことを原因とするソフトウェアのフラグメンテーションのきっかけとなり得る。
[0002]これらの及び他の問題の結果として、ローカルインストール用に開発された多くのソフトウェアアプリケーションは、もっぱらいくつかの場合において、ウェブアプリケーションとして現在開発されている。このウェブアプリケーションへの移行は、ソフトウェア開発者が、ソフトウェアのフラグメンテーションの懸念なく、最新のバージョンを一貫して提供することを可能にする。ウェブアプリケーションはまた、インターネット接続及び互換性のあるウェブブラウザーを有する任意のコンピューターシステムからユーザーがコンテンツを作成、閲覧及び編集することを可能にすることにより、ユーザーにより柔軟な作業環境を提供する。さらに、ウェブアプリケーションは、ソフトウェアアプリケーションが格納されるディスク又は他の媒体を製造し、出荷し、ストックすることに関連する諸経費の削減により、無料で又は従来のソフトウェアアプリケーションより少ないコストで提供することができる。
[0003]特定のウェブアプリケーションは、ウェブパーツ(Web parts)を使用して、コンテンツや機能を提供する。ウェブパーツは、ウェブページのコンテキスト内で実行されるサーバー側のコントロールである。ウェブパーツは、簡単にウェブページに追加することによってウェブページに機能を追加する能力をユーザーに与える。特定のウェブアプリケーションに関連付けられたコンテンツをユーザーが追加することを可能にするウェブパーツが存在するが、ワシントン州レドモンドのマイクロソフトから入手可能なMICROSOFT POWERPOINTのネイティブバージョン又はウェブバージョンを使用して作成されたコンテンツなどのプレゼンテーションコンテンツをウェブページに追加するウェブパーツは存在しない。
[0004]表示のためにコンテンツを提供することに加えて、しばしば、別のウェブパーツ又はウェブページ上の他のコントロールを利用して、あるウェブパーツに表示されるコンテンツを操作することが望ましいことがある。例えば、ユーザーが地図上の場所、リスト中の項目を選択し、そうでなければユーザーインターフェイス要素とインタラクトする場合にプレゼンテーションコンテンツが有意義な方法で表示されるように、ページ内のマップ、リスト、及び/又は他のインタラクティブなユーザーインターフェイス要素などの他のコンテンツとの関連でプレゼンテーションコンテンツを表示することが望ましい場合がある。
プレゼンテーションアプリケーションのための埋め込み組み込みウェブビューアーを提供する。
[0005]本明細書においてなされる開示はこれら及び他の考慮に関して提示される。
[0006]プレゼンテーションウェブパーツを利用してウェブページ内にプレゼンテーションコンテンツを埋め込む概念及び技術が本明細書に記載される。本明細書に開示された概念と技術によれば、プレゼンテーションウェブパーツは、その中でプレゼンテーションコンテンツを表示することができるインラインフレーム(「iFrame」)などのウェブ要素を作成するように構成される。iFrameは、本明細書に開示されるような、プレゼンテーションコンテンツを表示するためのビューアーなどの外部オブジェクトを含むように構成されるハイパーテキストマークアップ言語(「HTML」)要素である。
[0007]プレゼンテーションウェブパーツは、プレゼンテーションコンテンツの様々なスライドを前に進めることなどによってプレゼンテーションコンテンツを操作するためにプレゼンテーションウェブアプリケーションの機能を呼び出す内部(inner)APIに対して、postMessageラッパーなどのラッパーとして機能する外部(outer)アプリケーションプログラミングインターフェイス(「API」)で構成される。ラッパーとして機能する外部APIは、ウェブページ内に埋め込まれた異なるオブジェクトからの外部APIと内部APIとの間での協調的な情報交換を可能にするメソッドを呼び出すことができる。
[0008]1つの態様によれば、iFrame はプレゼンテーションウェブパーツの一部としてウェブページ内に表示され、プレゼンテーションコンテンツはiFrame内に表示される。内部APIは、外部APIから、postMessageなどのメッセージ内の指示を受け取り、内部APIによって受け取られた指示に従って、iFrame内でプレゼンテーションコンテンツを操作する。
[0009]別の態様によれば、プレゼンテーションコンテンツは、複数のサイズにスケーリングされてキャッシュされる。プレゼンテーションコンテンツの要求が受け取られて、当該要求に応答して、プレゼンテーションコンテンツの適切なサイズが取得され、ターゲットiFrameに挿入される。
[0010]さらに別の態様によれば、プレゼンテーションコンテンツを表示するiFrameが作成される。プレゼンテーションコンテンツを閲覧するためのウェブアプリケーションがiFrame内で実行され、プレゼンテーションコンテンツがウェブアプリケーションの実行結果としてiFrame内に表示される。
[0011]上述した主題は、コンピューター制御された装置、コンピュータープロセス、コンピューティングシステム、又はコンピューター読み取り可能な記憶媒体などの製品として実施することができることが理解されるべきである。これら及び他の様々な特徴は、以下の詳細な説明を読み関連する図面を検討することによって明らかになるであろう。
[0012]この概要は、詳細な説明で以下にさらに説明される概念の選択を簡略化された形で紹介するために設けられる。この概要は、特許請求される主題の重要な特徴又は不可欠な特徴を特定することを意図しておらず、この概要は特許請求される主題の範囲を限定するために使用されることも意図していない。さらに、特許請求される主題は、本開示の任意の部分に記載される任意の又はすべての欠点を解決する実施例に限定されるものではない。
[0013]本明細書に開示された様々な実施例のための例示的な動作環境を示すシステム図である。 [0014]例示的な実施例によるプレゼンテーションウェブパーツを示す図である。 [0015]例示的な実施例による設定(settings)ユーザーインターフェイスを示す図である。 [0016]例示的な実施例による、プレゼンテーションウェブパーツを含むウェブページを実行する方法の態様を示すフロー図である。 [0017]例示的な実施例による、プレゼンテーションデータをキャッシュする方法の態様を示すフロー図である。 [0018]例示的な実施例による、プレゼンテーションバンドルサイズを選択する方法の態様を示すフロー図である。 [0019]例示的な実施例による、ウェブアプリケーションの実施を呼び出す方法の態様を示すフロー図である。 [0020]例示的な実施例による、外部アプリケーションプログラミングインターフェイス(「API」)と外部APIを呼び出しているアプリケーションとの間の通信のための方法の態様を示すフロー図である。 [0021]本明細書に提示される実施例の態様を実施することができるコンピューティングシステムのための例示的なコンピューターハードウェア及びソフトウェアアーキテクチャーを示すコンピューターアーキテクチャー図である。
[0022]以下の詳細な説明は、プレゼンテーションウェブパーツを利用して、ウェブページ内にプレゼンテーションコンテンツを埋め込む概念及び技術に関するものである。本明細書に記載の概念と技術によれば、プレゼンテーションウェブパーツは、その中にプレゼンテーションコンテンツを表示することができる、iFrameなどのウェブ要素を作成するように構成される。プレゼンテーションウェブパーツは、プレゼンテーションコンテンツの様々なスライドを前に進めることなどによってプレゼンテーションコンテンツを操作するためにプレゼンテーションウェブアプリケーションの機能を呼び出す内部APIに対して、postMessageラッパーなどのラッパーとして機能する外部アプリケーションプログラミングインターフェイス(「API」)で構成される。
[0023]本明細書に記載の主題は、コンピューターシステム上のオペレーティングシステム及びアプリケーションプログラムの実行に関連して実行されるプログラムモジュールの一般的な文脈で提示されるが、当業者であれば、他の実施例が他のタイプのプログラムモジュールと組み合わせて実行されてもよいことを認識するであろう。一般に、プログラムモジュールは、特定のタスクを実行し又は特定の抽象データ型を実施するルーチン、プログラム、コンポーネント、データ構造、及び他のタイプの構造を含む。さらに、当業者であれば、本明細書に記載の主題が、ハンドヘルドデバイス、マルチプロセッサーシステム、マイクロプロセッサーベース又はプログラム可能な家庭用電化製品、ミニコンピューター、メインフレームコンピューターなどを含む他のコンピューターシステム構成で実施され得ることを理解するであろう。
[0024]以下の詳細な説明では、本明細書の一部を形成する添付の図面に対して参照がなされ、特定の実施例又は例が例として示される。いくつかの図面を通じて同様の数字が同様の要素を表す図面を参照して、プレゼンテーションウェブパーツを利用してウェブページ内にプレゼンテーションコンテンツを埋め込むコンピューティングシステム、コンピューター読み取り可能な記憶媒体、及びコンピューターにより実施される方法論の態様が、他の態様に加えて説明される。
[0025]ここで図1を参照すると、本明細書に提示される様々な実施例のためのある動作環境100の態様が説明される。動作環境100は、ネットワーク104上で動作する又はネットワーク104と通信するクライアントコンピューター102を含む。クライアントコンピューター102は、オペレーティングシステム106と、例えば、ウェブブラウザー108及び/又は他のアプリケーションプログラムなどの1つ又は複数のアプリケーションプログラムとを実行するように構成される。
[0026]オペレーティングシステム106は、クライアントコンピューター102の動作を制御するコンピュータープログラムである。アプリケーションプログラムは、本明細書に記載された様々な機能を提供するために、オペレーティングシステム106の上で実行するように構成された実行可能なプログラムである。ウェブブラウザー108は、ユーザーがネットワーク104を介してワールドワイドウェブ(「ウェブ」)上の情報リソースにアクセスできるようなアプリケーションプログラムである。さらに、ウェブブラウザー108は、ユーザーがサーバーコンピューター110によって提供される情報及びさまざまな機能にアクセスすることを可能にする。
[0027]図示されたサーバーコンピューター110は、オペレーティングシステム112と、例えば、1つ又は複数のウェブアプリケーション116及び/又は他のアプリケーションプログラムを含む協調プラットフォーム114の1つ又は複数のアプリケーションプログラムとを実行するように構成される。オペレーティングシステム112は、サーバーコンピューター110の動作を制御するためのコンピュータープログラムである。アプリケーションプログラムは、本明細書に記載された様々な機能を提供するためにオペレーティングシステム112の上で実行するように構成された実行可能なプログラムである。特に、1つ又は複数のウェブアプリケーション116は、ネットワーク104を介してウェブブラウザー108によってアクセス可能なアプリケーションプログラムである。
[0028]いくつかの実施例では、ウェブアプリケーション116は、少なくともプレゼンテーションウェブアプリケーションを含むが、1つ又は複数のワードプロセッシングアプリケーション、スプレッドシートアプリケーション、プレゼンテーションアプリケーション、電子メールアプリケーション、カレンダーアプリケーション、描画アプリケーション、及び/又はウェブブラウザー108によってアクセス可能な他のアプリケーションを含むことができる。たとえば、ウェブアプリケーション116は、ワシントン州レドモンドのマイクロソフトからすべてが入手可能である、MICROSOFT WORD、MICROSOFT EXCEL、MICROSOFT POWERPOINT、MICROSOFT OUTLOOK及び/又はMICROSOFT VISIOの、ウェブベースのバージョンを含んでもよい。代わりに又はそれに加えて、ウェブアプリケーション116は、カリフォルニア州マウンテンビューのGOOGLEからすべてが利用可能な、GOOGLE DOCUMENTS、GOOGLE SPREADSHEETS、GOOGLE PRESENTATIONS、GOOGLE MAIL、及び/又はGOOGLE DRAWINGSを含んでもよい。ソーシャルネットワーキングアプリケーション、写真アプリケーション、通信アプリケーション(例えば、ボイス・オーバー・IP及び/又はインスタントメッセージ)などを含む他のウェブアプリケーションが考えられる。
[0029]いくつかの実施例では、協調プラットフォーム114は、ウェブアプリケーション116の集中型のホストである。例えば、クライアントコンピューター102のユーザーは、ウェブブラウザー108を介して協調プラットフォーム114にアクセスして、ウェブアプリケーション116の1つ又は複数を利用して、コンテンツを作成、編集、及び/又は閲覧することができる。いくつかの実施例では、協調プラットフォーム114は、会議、インスタントメッセージ、電子メール、カレンダー、及び/又はコラボレーションワークスペースを含むがこれらに限定されない協調サービスを提供する。コラボレーションワークスペースは、例えば、ウェブアプリケーション116を介したコンテンツの作成又は編集に協力する複数のユーザーによって使用されてもよい。
[0030]いくつかの実施例では、協調プラットフォーム114はまた、あとで閲覧したり編集したりするために、ウェブアプリケーション116を介して作成されたコンテンツをユーザーが保存することができる、ストレージソリューションを提供する。協調プラットフォーム114は、代替的に又は加えて、協調プラットフォーム114における記憶のためにクライアントコンピューター102上でローカルに作成されたコンテンツを受け取るように構成されてもよい。協調プラットフォーム114にアップロードされたコンテンツ、又はウェブアプリケーション116を介して作成もしくは編集されたコンテンツは、サーバーコンピューター110においてデータ118として格納することができる。データ118は、クライアントコンピューター102及び/又は他のコンピューター(図示せず)によってアクセスすることができる。
[0031]協調プラットフォーム114は、いくつかの実施例では、1人以上のユーザーが1つ又は複数のウェブページを含むウェブサイトを作成することを可能にする。ウェブサイト及び1つ又は複数のウェブページは、サーバーコンピューター110に保存されてウェブブラウザー108を介して1つ又は複数のユニフォームリソースロケーター(「URL」)を介してアクセス可能なデータ118に含まれてもよい。1つ又は複数のウェブページは、1つ又は複数のウェブパーツ120を含むことができる。ウェブパーツ120は、協調プラットフォーム114内のウェブページのコンテキスト内で実行されるサーバー側のコントロールである。ウェブパーツ120は、クライアントコンピューター102のユーザーがブラウザー108を介して直接的にウェブページに機能を追加することを可能にする。たとえば、ウェブパーツ120を介して、クライアントコンピューター102のユーザーは、ブラウザー108を介してウェブページの内容、外観、及び/又は挙動を作成又は変更できる。
[0032]ウェブパーツ120は、協調プラットフォーム114の一部として提供されるデフォルトのウェブパーツ及び/又はクライアントコンピューター102のユーザーによって作成されるカスタムウェブパーツを含むことができる。いくつかの実施例では、ウェブパーツ120は、特に、ウェブページ内でプレゼンテーションコンテンツ(「プレゼンテーションバンドル」又は「プレゼンテーションデッキ」とも呼ばれる)を表示する機能を提供するようにウェブページに追加することができるプレゼンテーションウェブパーツ122を含む。いくつかの実施例では、プレゼンテーションコンテンツは、各々がテキスト、イメージ、ビデオ、ハイパーリンク、アニメーション、ゲーム及び/又は他のインタラクティブなもしくは非インタラクティブな要素などのコンテンツを含む、1つ又は複数のプレゼンテーションのスライドからなる、MICROSOFT POWERPOINTプレゼンテーションとしてフォーマットされる。
[0033]プレゼンテーションコンテンツは、専用のプレゼンテーションウェブアプリケーション又はクライアントコンピューター102上でローカルに実行されるネイティブアプリケーションを介して表示される場合にプレゼンテーションコンテンツが表示されるのと同じ方法で、プレゼンテーションウェブパーツ122によって表示されてもよいと考えられる。つまり、スライド内の要素のアニメーション及び/又はスライド間のアニメーションなどのプレゼンテーションコンテンツは、プレゼンテーションウェブパーツ122を介して保持することができる。
[0034]プレゼンテーションウェブパーツ122は、ウェブページに対して様々な拡張機能を提供するために、ウェブパーツ120の1つ又は複数の他のウェブパーツとインタラクトすることができると考えられる。例えば、プレゼンテーションウェブパーツ122及び地図ウェブパーツは、ユーザーが地図ウェブパーツを介して都市や他の場所を選択するとプレゼンテーションウェブパーツ122が選択された場所に関連付けられるプレゼンテーションコンテンツを表示するように、同じウェブページ上に表示されてもよい。プレゼンテーションウェブパーツ122によって表示されるプレゼンテーションコンテンツは、選択された場所に関連する1つ又は複数のプレゼンテーションのスライドを含むプレゼンテーションデッキであってもよい。あるいは、プレゼンテーションウェブパーツ122によって表示されるプレゼンテーションコンテンツは、選択された場所及び1つ又は複数の追加の場所を含む様々な場所についてのプレゼンテーションスライドを含むプレゼンテーションデッキ内の選択された位置に関連付けられたプレゼンテーションスライドであってもよい。1つ又は複数の他のウェブパーツとともにプレゼンテーションウェブパーツ122を使用する他の用途も考えられる。
[0035]ウェブパーツ120は、プレゼンテーションのウェブパーツ122に加えて、リストデータを表示し編集するのに使用されるリスト表示ウェブパーツ、書式付きの(formatted)テキスト、テーブル、ハイパーリンク及び/又はイメージを追加するのに使用されるコンテンツエディターウェブパーツ、別のウェブパーツ内に表示されるデータの列に接続してフィルタリングするのに使用されるフォームウェブパーツ、ピクチャーやグラフィックを追加してピクチャーやグラフィックを調整(例えば、整列、背景色など)するために使用されるイメージウェブパーツ、ウェブページ、ファイル、又はフォルダーを表示するのに使用されるページビューアーウェブパーツ、並びに、XMLを表示し、コンテンツが表示される前に拡張可能スタイルシート言語変換(「XSLT」)をXMLに適用するのに使用される拡張可能マークアップ言語(「XML」)ウェブパーツ、のうちの1つ又は複数を含む。さらに、任意のウェブパーツ120は、ウェブパーツ120の機能を調整するために使用されるプリセット及び/又はカスタム設定を含むことができる。
[0036]いくつかの実施例では、協調プラットフォーム114は、ワシントン州レドモンドのマイクロソフトから入手できるMICROSOFT SHAREPOINTである。他の実施例では、協調プラットフォーム114は、カリフォルニア州マウンテンビューのグーグルから入手できるGOOGLE DOCSである。さらに他の実施例では、協調プラットフォーム114は使用されず、ウェブパーツ120は、ウェブページに様々なコンテンツを追加するためのスタンドアロンのソリューションとして利用可能となる。
[0037]サーバーコンピューター110へのアクセスは、所有ファクター(ownership factors)(例えば、IDカード、セキュリティトークン、携帯電話など)、知識ファクター(例えば、パスワード、パスフレーズ、個人識別番号(「PIN」)、チャレンジレスポンス)、及び/又は固有のファクター(例えば、指紋、網膜パターン、DNA配列、署名、顔認識、固有の生体電気信号、又は他の生体認証識別子(biometric identifiers))などを含むがこれらに限定されない、1つ又は複数の認証ファクターによって保護されてもよいことが考えられる。さらに、同じ、代替的な、又はさらなる認証が、協調プラットフォーム114、1つ又は複数のウェブアプリケーション116、及び/又はデータ118にアクセスするために必要とされてもよい。
[0038]様々な実施例によれば、クライアントコンピューター102及び/又はサーバーコンピューター110は、デスクトップ、タブレット、又はラップトップコンピューターシステムなどのパーソナルコンピューター(「PC」)である。クライアントコンピューター102及び/又はサーバーコンピューター110は、サーバーコンピューター、ハンドヘルドコンピューター、ネットブックコンピューター、組み込みコンピューターシステム、パーソナルデジタルアシスタント、携帯電話、スマートフォン、又は他のコンピューティングデバイスを含むがこれらに限定されない、他のタイプのコンピューティングシステムを含み得る。
[0039]動作環境100のいくつかの実施例は、複数のクライアントコンピューター102、複数のネットワーク104、及び/又は複数のサーバーコンピューター110を含むことが理解されるべきである。また、複数のオペレーティングシステム106及び/又は複数のウェブブラウザー108がクライアントコンピューター102によって使用されてもよく、複数のオペレーティングシステム112がサーバーコンピューター110によって使用されてもよいことが理解されるべきである。したがって、説明される実施例は、例示的なものとして理解されるべきであり、何ら限定するものとして解釈されるべきではない。
[0040]ここで図2に移ると、例示的なウェブパーツアーキテクチャー200の態様が詳細に説明される。ウェブパーツアーキテクチャー200は、コアコンポーネント204及び1つ又は複数のホスト設定206を含む、(プレゼンテーションウェブパーツ122などの)プレゼンテーションウェブパーツ202を含む。いくつかの実施例では、ホスト設定206は、協調プラットフォーム114に関連付けられる設定である。いくつかの実施例では、コアコンポーネント204は、それがサーバー側のレンダリング(「SSR」)コントロールとしてパッケージすることができるように作成される。他の実施例では、コアコンポーネント204は、クライアント側のレンダリング(「CSR」)コントロールとしてパッケージすることができるように作成される。説明を簡単にするために、コアコンポーネント204は、本開示の残りの部分に関して、SSRコントロールとして考えられる。
[0041]コアコンポーネント204は、外部アプリケーションプログラミングインターフェイス(「外部API」)208を含む。いくつかの実施例では、外部API208は内部API210のpostMessageラッパーである。特に、外部API208は、ウェブページ内に埋め込まれた異なるオブジェクトからの外部API208と内部API210との間の協調的な情報交換を可能にするためにpostMessageを利用してもよい。いくつかの実施例では、外部API208及び内部API210は、JavaScript(登録商標)言語で書かれる。postMessageはハイパーテキストマークアップ言語バージョン5(「HTML5」)のJavaScript関数である。外部API208及び内部API210の機能が本明細書においてより詳細に説明される。
[0042]コアコンポーネント204はまた、インラインフレーム(「iFrame」)214を作成するように構成されるiFrameコンストラクター(iFrame constructor)212を含む。いくつかの実施例では、iFrameコンストラクター212は、外部API208の一部として含まれる。iFrameコンストラクター212によって作成されたiFrame214は、外部オブジェクトを含むように構成されたHTML要素である。説明されるiFrame214は、ビューアー216として具現化される外部オブジェクトを含むように構成される。
[0043]説明されるiFrame214はビューアー216とは別のユーザーインターフェイス218に関連付けられる。いくつかの実施例では、ユーザーインターフェイス218は、ビューアー216の上に様々な機能を提供するために、ユーザー(例えば、ウェブサイトの開発者)によって追加される。これらの機能は、例えば、ウェブページ上の他のウェブパーツとの双方向性を提供することができる。代替的に、ユーザーインターフェイス218は、ユーザーがビューアー216のスライド表示222に含まれるプレゼンテーションコンテンツ220を表示し及び/又は操作することを可能にする機能を含むことができる。例えば、ユーザーインターフェイス218は、ユーザーが、プレゼンテーションコンテンツ220のスライドショーを再生し、スライドショーを停止し、スライドショーを一時停止し、次のスライドを選択し、以前のスライドを選択し、現在表示可能なスライドの識別情報(例えば、Y個のスライドのうちのスライドX)を表示することができる、ボタンや他のインタラクティブな要素を提供することができる。プレゼンテーションコンテンツ220は、クライアントコンピューター102、データ118、又は別の場所から供給することができる。ユーザーインターフェイス218を含めることは、設計上の選択であってもよいし、特定の開発者によって又は特定の開発者についてカスタム設計されてもよい。
[0044]ユーザーインターフェイス218は、一時的もしくは永続的に特定のビューから隠されてもよいと考えられる。例えば、ユーザーインターフェイス218は、ユーザーインターフェイス218に関連付けられるウェブページの領域の上にカーソルが配置されるまで隠されてもよく、その時点でユーザーインターフェイス218が見せられる。ユーザーインターフェイス218は、代替的に、すべてのユーザー、又はアクセスが制限された(例えば、プレゼンテーションコンテンツ220又は特定のウェブサイトもしくはその中に含まれるページのすべてのコンテンツについての読み取り専用許可)ユーザーなどの特定のユーザーから永久に隠されてもよい。
[0045]ビューアー216はまた、クライアント設定224及びナビゲーション機能226に関連付けられる。クライアント設定224は、以下に詳細に説明するように、ユーザーがコンポーネント204に関する様々な機能、及びスライド表示222の位置を制御することを可能にする。ナビゲーション機能226は、プレゼンテーションコンテンツ220のスライドショーを再生し、スライドショーを停止し、スライドショーを一時停止し、次のスライドを選択し、以前のスライドを選択し、現在表示可能なスライドの識別情報(例えば、Y個のスライドのうちのスライドX)を表示する機能であってもよい。
[0046]クライアント設定224及びナビゲーション機能226は、1つ又は複数のpostMessage228において外部API208から内部API210によって受け取られた要求につきプレゼンテーションコンテンツを操作するために内部API210によって使用される。例えば、外部API208は、プレゼンテーションコンテンツ220を次のスライドへ進める命令を受け取るかもしれず、そのため、外部API208は、そのような命令を含むpostMessageを228を生成し、内部API210にそのpostMessage228を送信し、これは、プレゼンテーションコンテンツ220を次のスライドへ進めるためにウェブアプリケーション116(すなわち、プレゼンテーションウェブアプリケーション)のうちの1つの関数を呼び出す。ここで、この関数は、次のスライドに進むためにプレゼンテーションウェブアプリケーションによって利用される特定の方法であってもよい。さらに、スライドを進めることに関連付けられる任意の移行又は他のアニメーションは、プレゼンテーションウェブアプリケーションによって利用されるアニメーションライブラリを呼び出すことによって、内部API210によって取得することができる。
[0047]クライアント設定224はホスト設定206のサブセットであってもよい。ホスト設定206は、例えば、プレゼンテーションコンテンツ220のソース(すなわち、プレゼンテーションコンテンツ220を含む特定のファイルへのポイント)、プレゼンテーションコンテンツ220の初期サイズ(例えば、高さ及び幅)、及びナビゲーション機能226に含まれるコントロールを含む。いくつかのホスト設定206はまた、クライアント設定224であってもよい。例えば、オートアドバンス設定がホスト設定206及びクライアント設定224に含まれてもよい。
[0048]ここで図3を参照すると、ユーザーがプレゼンテーションコンテンツ220についての様々なホスト設定206を選択することができる設定ユーザーインターフェイス300が、図1及び図2をさらに参照して説明される。図示されるように、設定ユーザーインターフェイス300は、プレゼンテーション表示部302、ツールバー及びタイトルバー部304、ナビゲーション及び双方向性部306、外観部308、レイアウト部310を含む。図3に示したすべての設定は例示的なホスト設定206であり、そのうちのいくつかはまた例示的なクライアント設定であってもよいことが理解されるべきである。プレゼンテーションコンテンツ220の初期サイズ、レイアウト設定、及びタイトルバー/ツールバーを示すかどうかは、クライアント設定224の一部ではない。
[0049]プレゼンテーション表示部302は、ユーザーがスライド表示222に表示するべきプレゼンテーションコンテンツ220を選択することができるプレゼンテーションソース選択ボックス312を含む。いくつかの実施例において、プレゼンテーションソース選択ボックス312は、使用可能なプレゼンテーションコンテンツが事前に設定されるドロップダウンメニューである。いくつかの実施例では、ユーザーは、プレゼンテーションコンテンツ220へのパスを入力することができる。例えば、パスは、プレゼンテーションコンテンツ220のURL位置、サーバーコンピューター110のデータ118内のプレゼンテーションコンテンツ220の位置、又は(例えば、サーバーコンピューター110へのアップロードのための)クライアントコンピューター102上のプレゼンテーションコンテンツ220の位置であってもよい。図示される実施例では、「sample.ppt」と名付けられるプレゼンテーションが選択される。*.pptファイル拡張子が示されるが、他のファイル拡張子がプレゼンテーションコンテンツ220のプレゼンテーションファイルフォーマットに基づいて使用されてもよいことが理解されるべきである。
[0050]ツールバー及びタイトルバー部304は、タイトルバー表示チェックボックス314及びツールバー表示チェックボックス316を含む。タイトルバー表示チェックボックス314は、ユーザーがプレゼンテーションのタイトルバーを示すこと/隠すことを切り替えることを可能にする。タイトルバーは、プレゼンテーションソース選択ボックス312で選択されたプレゼンテーションのファイル名(ファイルタイプの拡張子を含むか又は含まない)を含むことができる。ツールバー表示チェックボックス316は、ユーザーがツールバーを示すこと/隠すことを切り替えることを可能にする。図示される実施例では、タイトルバー表示チェックボックス314はチェックされず、ツールバー表示チェックボックス316がチェックされる。
[0051]ナビゲーション及び双方向性部306は、ナビゲーションチェックボックス318、オートアドバンスラジオボタン320A、320B、及びオートアドバンス時間選択ボックス322を含む。ナビゲーションチェックボックス318は、ユーザーが、プレゼンテーションを進めるための、クリック、キーボードショートカット、又はスライド上で使用される他の入力の許可/却下を切り替えることを可能にする。オートアドバンスラジオボタン320A、320Bは、ユーザーが、プレゼンテーションを自動的に進める(すなわち、オートアドバンスラジオボタン320Aの選択)かどうか、又は、例えば、スライドの自動前進タイミングや手動前進についてのプレゼンテーションの作成中に設定された設定などのプレゼンテーションの設定を尊重する(すなわち、オートアドバンスラジオボタン320Bの選択)かどうかを選択することを可能にする。オートアドバンスラジオボタン320Aは、選択されると、ユーザーがオードアドバンス時間選択ボックス322を介してオートアドバンスの間の時間間隔を指示することを可能にする。2秒の時間間隔が示されるが、これはいかなる意味においても限定的であると考えるべきではない。いくつかの実施例では、「ファイルからデフォルトのオードアドバンス設定を使用する」チェックボックスが、代替的に又はさらに設定ユーザーインターフェイス300において提示される。このチェックボックスがチェックされると、プレゼンテーションコンテンツ220は、(例えば、スライドショービューのような)ファイル内の任意のオートアドバンス設定を使用する。このチェックボックスがチェックされない場合には、プレゼンテーションコンテンツ220は自動的に移動せず、各アニメーションは、(例えば、閲覧表示のように)プレゼンテーションコンテンツ220中で進むためにクリックを要する。
[0052]外観部308は、高さラジオボタン324A、324B、固定高さ選択ボックス326、幅ラジオボタン328A、328B、及び固定幅選択ボックス330を含む。高さラジオボタン324A、324Bは、ユーザーが、プレゼンテーションウェブパーツ202の固定の高さを設定するかどうか、選択した領域に合うように高さを調整するかどうかを選択することを可能にする。高さラジオボタン324Aは、選択されると、ユーザーが、固定高さ選択ボックス326を介してプレゼンテーションウェブパーツの固定の高さ202を指示することを可能にする。「360」ピクセルの固定の高さが示されるが、これはいかなる意味においても限定するものと考えるべきではない。幅ラジオボタン328A、328Bは、ユーザーが、プレゼンテーションウェブパーツ202の固定幅を設定するかどうか、選択した領域に合うように幅を調整するかどうかを選択することを可能にする。幅ラジオボタン328Aは、選択されると、ユーザーが固定幅選択ボックス330を介してプレゼンテーションウェブパーツ202の固定幅を指示することを可能にする。「640」ピクセルの固定幅が示されるが、これはいかなる意味においても限定するものと考えるべきではない。
[0053]レイアウト部310は、非表示チェックボックス332、領域選択ボックス334、及び領域インデックス選択ボックス336を含む。非表示チェックボックス332は、ユーザーが隠されたデータを切り替えることを可能にする。領域選択ボックス334は、ユーザーが、プレゼンテーションウェブパーツ202を挿入することを望むウェブページの領域(ゾーン)を選択することを可能にする。領域は、例えば、ウェブページのヘッダー、フッター、又は本体であってもよく、ウェブページ内の特定の列や行であってもよい。図示される実施例では、選択される領域は、ウェブページの中央の列である。領域インデックス選択ボックス336は、ユーザーが、選択された領域内の領域を選択することを可能にする。これらの領域は、図示される実施例のように、例えば、「0」などの整数によって示すことができる。いくつかの実施例では、レイアウト部310は、例えば、協調プラットフォーム114によって自動的にポピュレート(populate)される。
[0054]設定ユーザーインターフェイス300はまた、「OK」ボタン338、「キャンセル」ボタン340及び「適用」ボタン342を含む。「OK」ボタン338を選択すると、任意の新しい設定が適用され、設定ユーザーインターフェイス300が閉じられる。「キャンセル」ボタン340を選択すると、任意の新しい設定を保存せずに設定ユーザーインターフェイス300が閉じられる。「適用」ボタン342を選択すると、任意の新しい設定が適用される。
[0055]設定ユーザーインターフェイス300は、図3に示される設定のすべてを含まなくてもよいし、図3に明示的に示されない他の設定を含んでもよいし、図3に示されるものとは完全に異なる設定を含んでもよい。
[0056]ここで図4を参照すると、プレゼンテーションウェブパーツを含むウェブページを実行する方法400の態様について詳細に説明される。本明細書に開示された方法の動作は、必ずしも特定の順序で提示されず、代替の順序での動作の一部又はすべての実行が可能であり、考えられることが理解されるべきである。動作は、記載及び説明を容易にするために示された順序で提示された。動作は、添付の特許請求の範囲から逸脱することなく、追加され、省略され、及び/又は同時に実行されてもよい。
[0057]説明された方法は、任意の時点で終了することができ、その全体としてそのまま実行される必要はないことが理解されるべきである。方法の動作の一部もしくはすべて及び/又は実質的に均等な動作は、以下に定義されるコンピューター記憶媒体に含まれるコンピューター読み取り可能な命令の実行によって行うことができる。明細書及び特許請求の範囲で使用されるとき、「コンピューター読み取り可能な命令」という用語、及びその変形は、ルーチン、アプリケーション、アプリケーションモジュール、プログラムモジュール、プログラム、コンポーネント、データ構造、アルゴリズムなどを含むように本明細書において拡張して用いられる。コンピューター読み取り可能な命令は、シングルプロセッサー又はマルチプロセッサーシステム、ミニコンピューター、メインフレームコンピューター、パーソナルコンピューター、ハンドヘルドコンピューティングデバイス、マイクロプロセッサーベースのプログラム可能な家庭用電化製品、それらの組み合わせなどを含む様々なシステム構成で実施することができる。
[0058]したがって、本明細書に記載の論理動作は、(1)コンピューターにより実施される行為のシーケンス又はコンピューティングシステム上で動作するプログラムモジュールとして及び/又は(2)コンピューティングシステム内の相互接続されたマシン論理回路又は回路モジュールとして実施されることが理解されるべきである。実施例は、コンピューティングシステムの性能及び他の要件に依存する選択の問題である。従って、本明細書に記載の論理動作は、状態動作(states operations)、構造的デバイス(structural devices)、行為(acts)、又はモジュールと様々に呼ばれる。これらの動作、構造的デバイス、行為、及びモジュールは、ソフトウェア、ファームウェア、特殊目的デジタルロジック、これらの任意の組み合わせで実施されてもよい。
[0059]本開示の概念を示して説明する目的のために、本明細書に開示される方法は、クライアントコンピューター102及び/又はサーバーコンピューター110によって実行されるものとして記載される。これらの実施例は例示的なものであり、いかなる意味でも限定されるものとしてみなされるべきではないことが理解されるべきである。
[0060]方法400は、動作402で開始し、ウェブブラウザー108がウェブページを呼び出す。これは、URL入力フィールドにおいてウェブページのURLを受け取るウェブブラウザー108によって達成することができる。URLは、クライアントコンピューター102のユーザーによってURL入力フィールドに手動で入力されてもよいし、アプリケーション(例えば、ネイティブアプリケーション又はウェブアプリケーション)の実行の際に自動的に入力されてもよいし、又は別のウェブページやドキュメント内からのハイパーリンクの選択の際に入力されてもよい。ウェブページは、プレゼンテーションウェブパーツ202などのプレゼンテーションウェブパーツを含む。
[0061]動作402から、方法400は動作404に進み、ウェブパーツ202はプレゼンテーションファイルデータ(例えば、プレゼンテーションコンテンツ220)を得る。プレゼンテーションファイルデータのソースは、例えば、プレゼンテーションソース選択ボックス312内の設定ユーザーインターフェイス300を介して、設定することができる。次いで、ウェブブラウザー108は、動作406においてウェブページを実行し、その結果、動作408において外部API208が初期化される。
[0062]動作408から、方法400は動作410に進み、(例えば、外部API208の一部として)iFrameコンストラクター212がiFrame214を作成する。方法400は動作412に進み、プレゼンテーションウェブアプリケーションが、iFrame214内にプレゼンテーションコンテンツ220を表示するために実行される。次いで方法400は動作414で終了する。
[0063]図5を参照すると、プレゼンテーションコンテンツ220をキャッシュする方法500の態様が説明される。プレゼンテーションコンテンツ220は、様々なアスペクト比(例えば、4:3、16:9、16:10など)で様々なサイズ(例えば、ピクセル寸法)で作成することができる。さらに、iFrame214のサイズはユーザーによって指示されるように任意のサイズにすることができる。したがって、iFrame214内にプレゼンテーションコンテンツ220を合わせると、プレゼンテーションコンテンツ220が引き延ばされ、縮小され、又は他の方法で歪ませられ;ピクセル化され;又はiFrame214内での表示のために適切でなくなることにつながる。例えば、元のサイズのプレゼンテーションコンテンツ220は、ネイティブの又はウェブベースのプレゼンテーションビューアーアプリケーションを介したフルサイズの表示用に作成されたものであるかもしれず、iFrameの一部としてウェブページに埋め込まれるように調整されないかもしれない。方法500は、適切なサイズが様々な割合のiFrameに挿入できるように、様々なサイズでプレゼンテーションコンテンツ220をキャッシュすることができる。
[0064]方法500は開始して動作502に進み、プレゼンテーションコンテンツ220にアクセスされる。プレゼンテーションコンテンツ220がアクセスされることに応答して、動作504において、プレゼンテーションコンテンツ220は、固定の数のサイズ(本明細書において「バンドルサイズ」とも呼ぶ)にスケーリング(拡大縮小)される。任意の数のサイズが考えられるが、説明の目的のために、サイズの固定の数が3つ−小、中、大であると仮定する。固定の数のサイズの各々についての具体的な寸法は記載されておらず、特定の実施例の必要に基づいて選択することができる。固定の数のサイズにスケーリングされたプレゼンテーションコンテンツ220は、本明細書において、以下にまとめて、「スケーリングされたプレゼンテーションコンテンツ」と呼ぶ。
[0065]方法500は、動作504から、動作506に進み、スケーリングされたプレゼンテーションコンテンツが、プレゼンテーションコンテンツ220に対する将来の要求のためにキャッシュされる。動作508において、1つのそのような要求が受け取られ、動作510において、ウェブパーツ202への、特にiFrameへの挿入に適したサイズ(すなわち、小、中、大のバンドルサイズ)で、スケーリングされたプレゼンテーションコンテンツが取得される。いくつかの実施例では、取得は、ターゲットのiFrame(すなわち、iFrame214)の寸法に基づく。いくつかの実施例では、ターゲットのiFrameよりも大きいバンドルサイズが選択され、次いで、合わせるために縮小される。適切なバンドルサイズを取得する方法は、図6を参照して示され、説明される。
[0066]方法500は、動作510から動作512に進み、取得されたスケーリングされたプレゼンテーションコンテンツがウェブパーツ202のiFrame214に挿入される。方法500は動作514に進み、方法500は終了する。
[0067]図6を参照すると、プレゼンテーションバンドルサイズを選択する方法600の態様が説明される。方法600は、例えば、前述した方法500に従って、3つのバンドルサイズ−小、中、大−がプレゼンテーションコンテンツ220に対して定義されて、将来の要求のためにキャッシュされたと仮定する。方法600は、開始して動作602へ進み、iFrame214に挿入されるべきプレゼンテーションコンテンツの要求が受け取られる。
[0068]方法600は、動作602から動作604に進み、iFrame214の高さ及び幅が中サイズのバンドルについて定義される最小の高さ及び最小の幅以下であるかどうかが判定される。動作604において、iFrame214の高さ及び幅が中サイズのバンドルについて定義される最小の高さ及び最小の幅以下であると判定された場合、方法600は動作606に進み、小のバンドルサイズが選択される。方法600は動作608に進み、方法600は終了する。
[0069]しかし、動作604において、iFrame214の高さ及び幅が中サイズのバンドルについて定義される最小の高さ及び最小の幅以下でないと判定された場合、方法600は動作610に進み、iFrame214の高さ及び幅が大サイズのバンドルについて定義される最小の高さ及び最小の幅以下であるかどうかが判定される。動作610において、iFrame214の高さ及び幅が大サイズのバンドルについて定義される最小の高さ及び最小の幅以下であると判定されると、方法600は動作612に進み、中のバンドルサイズが選択される。方法600は動作608に進み、方法600は終了する。
[0070]しかし、動作610において、iFrame214の高さ及び幅が中サイズのバンドルについて定義される最小の高さ及び最小の幅以下でないと判定された場合、方法600は動作614に進み、大のバンドルサイズが選択される。方法600は動作608に進み、方法600は終了する。
[0071]iFrame214の高さ又は幅はいずれかが、それぞれ、特定のサイズのバンドルについて定義される最小の高さ又は幅以下である場合に、より小さなバンドルサイズが選択される(すなわち、動作604については小のバンドルサイズ、動作610については中のバンドルサイズ)ように、判定動作604、610は、高さ成分及び幅成分を別個に考慮してもよい。また、3つより多い又はより少ないバンドルサイズのオプションが定義されてもよく、結果として、動作604、610のようなより多くの又はより少ない動作が、iFrame214の高さ及び/又は幅が特定のバンドルサイズについて定義される最小の高さ及び/又は最小の幅以下であるかどうかを判定するために使用されてもよい。
[0072]図7を参照すると、ウェブパーツ202内でのウェブアプリケーションの実施を呼び出す方法700の態様が図2をさらに参照して説明される。方法700は開始して動作702に進み、命令が外部API208において受け取られる。命令は、例えば、次のスライドに進む、前のスライドに戻る、プレゼンテーションを終了する、又はウェブパーツ202のiFrame214内に表示されたプレゼンテーションコンテンツ220を他の方法で操作するための命令であってもよい。
[0073]方法700は、動作702から動作704に進み、外部API208は動作702で受け取られた命令を含むpostMessageを生成する。方法700は、次いで動作706に進み、外部API208は、内部API210にpostMessageを送信する。方法700は、動作706から動作708に進み、内部API210はpostMessageに含まれる命令を実行するためにプレゼンテーションウェブアプリケーションの実施を呼び出す。方法700は動作710に進み、方法700は終了する。
[0074]外部API208は、内部API210に、また同じくビューアー216に命令を送ることのみに限定されないことを理解すべきである。例えば、ユーザーがビューアー216をナビゲートする場合、外部API208は、外部API208を使用しているアプリケーションにメッセージを送ることができる。これは、図8を参照して以下で示され、説明される。
[0075]ここで図8を参照すると、外部API208と外部208APIを呼び出しているアプリケーションとの間の通信のための方法800の態様が図2をさらに参照して説明される。方法800は、動作802において開始し、ナビゲーション入力が内部API210によって受け取られ、外部API208へ提供される。今度は、外部API208が、動作804において、外部API208を呼び出すアプリケーションへナビゲーション入力を含むメッセージを送信する。方法800は動作806に進み、アプリケーションが、メッセージにおいて受信したナビゲーション入力に応答して1つ又は複数の機能を実行する。方法800は動作808に進み、方法は終了する。
[0076]いくつかの実施例において、アプリケーションは地図アプリケーションであり、ナビゲーション入力はスライド前進入力であり、ナビゲーション入力がアプリケーションによって受け取られると、応答して、アプリケーションが、ビューアー216内に表示されるスライドと一致する位置を表示することによって地図を操作する。他の使用事例が考えられる。
[0077]図9は、プレゼンテーションウェブパーツを利用してウェブページ内にプレゼンテーションコンテンツを埋め込むために、本明細書に記載されるソフトウェアコンポーネントを実行することができるデバイスについての例示的なコンピューターアーキテクチャー900を示す。従って、図9に示すコンピューターアーキテクチャー900は、サーバーコンピューター、携帯電話、PDA、スマートフォン、デスクトップコンピューター、ネットブックコンピューター、タブレットコンピューター、及び/又はラップトップコンピューターのアーキテクチャーを示す。コンピューターアーキテクチャー900は、本明細書に提示されるソフトウェアコンポーネントの任意の態様を実行するために利用することができる。
[0078]図9に示すコンピューターアーキテクチャー900は、中央処理ユニット902(「CPU」)、ランダムアクセスメモリー906(「RAM」)及び読み取り専用メモリー(「ROM」)908を含むシステムメモリー904、及びCPU902にメモリー904を結合するシステムバス910を含む。起動中などにコンピューターアーキテクチャー900内の要素間での情報の転送を助ける基本ルーチンを含む基本入出力システムは、ROM908に格納される。コンピューターアーキテクチャー900は、さらに、オペレーティングシステム106、112を格納するための大容量記憶デバイス912、協調プラットフォーム114、ウェブアプリケーション116、データ118、ウェブパーツ120、プレゼンテーションウェブパーツ122、及びウェブブラウザー108を含む。
[0079]大容量記憶デバイス912は、バス910に接続された大容量ストレージコントローラー(図示せず)を介してCPU902に接続される。大容量記憶デバイス912及びその関連するコンピューター読み取り可能な媒体は、コンピューターアーキテクチャー900の不揮発性ストレージを提供する。本明細書に含まれるコンピューター読み取り可能な媒体の説明はハードディスクやCD−ROMドライブなどの大容量記憶デバイスを指すが、コンピューター読み取り可能な媒体がコンピューターアーキテクチャー900によってアクセスできる任意の利用可能なコンピューター記憶媒体又は通信媒体とすることができることが当業者によって理解されるべきである。
[0080]通信媒体は、コンピューター読み取り可能な命令、データ構造、プログラムモジュール、又は搬送波や他の搬送メカニズムなどの変調されたデータ信号における他のデータを含み、任意の情報配信媒体を含む。「変調されたデータ信号」という語は、信号内に情報を符号化するような方法で変更又は設定された1つ又は複数の特性を有する信号を意味する。限定としてではなく例として、通信媒体は、有線ネットワーク又は直接有線接続などの有線媒体、ならびに音響、RF、赤外線及び他の無線媒体などの無線媒体を含む。上記のいずれの組合わせも、コンピューター読み取り可能な媒体の範囲内に含まれるべきである。
[0081]限定としてではなく例として、コンピューター記憶媒体は、コンピューター読み取り可能な命令、データ構造、プログラムモジュール又は他のデータなどの情報を記憶するための任意の方法又は技術で実施される、揮発性及び不揮発性の、取り外し可能な及び取り外し不能な媒体を含むことができる。例えば、コンピューター媒体は、、RAM、ROM、EPROM、EEPROM、フラッシュメモリー又は他のソリッドステートメモリー技術、CD−ROM、デジタル多用途ディスク(「DVD」)、HD−DVD、BLU−RAY、又は他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置又は他の磁気記憶デバイス、あるいは、所望の情報を格納するのに使用することができコンピューターアーキテクチャー900によってアクセスできる使用することができる任意の他の媒体を含むが、これらに限定されない。特許請求の範囲の目的のために、「コンピューター記憶媒体」という語及びその変形は、波、信号、及び/又は他の一時的及び/又は無形の通信媒体自体は含まない。
[0082]様々な実施例によれば、コンピューターアーキテクチャー900は、ネットワーク104などのネットワークを介してリモートコンピューターへの論理接続を使用するネットワーク化された環境で動作することができる。コンピューターアーキテクチャー900は、バス910に接続されたネットワークインターフェイスユニット916を介してネットワーク104に接続することができる。ネットワークインターフェイスユニット916はまた、他のタイプのネットワーク、及び、例えばプレゼンテーションコンテンツなどのコンテンツをホストするように構成されるリモートコンピューターシステムなどのリモートコンピューターシステムに接続するために利用され得ることが理解されるべきである。コンピューターアーキテクチャー900はまた、キーボード、マウス、又は電子スタイラス(図9には図示せず)を含む多くの他のデバイスからの入力を受信して処理するための入出力コントローラー918を含むことができる。同様に、入出力コントローラー918は、表示画面、プリンター、又は他のタイプの出力デバイス(図9に図示せず)に出力を提供することができる。
[0083]本明細書に記載されるソフトウェアコンポーネントは、CPU902にロードされて実行されると、CPU902及び全体的なコンピューターアーキテクチャー900を、汎用コンピューティングシステムから、本明細書に提示される機能を容易にするようにカスタマイズされた特殊目的のコンピューティングシステムへと変換することができることを理解すべきである。CPU902は、個別に又は集合的に任意の数の状態をとることができる、任意の数のトランジスター又は他の個別の回路素子から構築され得る。より具体的には、CPU902は、本明細書に開示されるソフトウェアモジュール内に含まれる実行可能な命令に応答して、有限状態マシンとして動作することができる。これらのコンピューター実行可能命令は、状態間でCPU902がどのように移行するかを指定することによってCPU902を変換することができ、それによって、CPU902を構成するトランジスター又は他の別個のハードウェア要素を変換することができる。
[0084]本明細書に提示されるソフトウェアモジュールを符号化することで、本明細書に提示されるコンピューター読み取り可能な媒体の物理構造を変換することができる。物理的構造の特定の変換は、本明細書の異なる実施例において、様々なファクターに依存し得る。このようなファクターの例は、コンピューター読み取り可能な媒体を実施するために使用される技術、コンピューター読み取り可能な媒体が一次的又は二次的記憶装置として特徴付けられるかどうかなどを含むが、これらに限定されない。例えば、コンピューター読み取り可能な媒体が半導体ベースのメモリーとして実施される場合、本明細書に開示されるソフトウェアは、半導体メモリーの物理的状態を変換することにより、コンピューター読み取り可能な媒体上に符号化されてもよい。例えば、ソフトウェアは、半導体メモリーを構成するトランジスター、キャパシター、又は他の個別の回路素子の状態を変換してもよい。ソフトウェアはまた、その上にデータを格納するために、このようなコンポーネントの物理的状態を変換してもよい。
[0085]別の例として、本明細書に開示されるコンピューター読み取り可能な媒体は、磁気又は光学技術を用いて実施することができる。このような実施例では、本明細書に提示されるソフトウェアは、ソフトウェアがその中に符号化されるとき、磁気又は光媒体の物理的状態を変換することができる。これらの変換は、所与の磁気媒体内の特定の位置の磁気特性を変化させることを含んでもよい。これらの変換はまた、所与の光媒体内の特定の位置の物理的な特徴又は特性を変化させて、それらの位置の光学特性を変化させることを含んでもよい。物理媒体の他の変換は、この議論を容易にするためにのみ提供される前述の例によって、本明細書の範囲及び趣旨から逸脱することなく可能である。
[0086]上記に鑑みて、多くの種類の物理的変換が、本明細書に提示されるソフトウェアコンポーネントを格納して実行するために、コンピューターアーキテクチャー900において行われることが理解されるべきである。また、コンピューターアーキテクチャー900が、ハンドヘルドコンピューター、組み込みコンピューターシステム、パーソナルデジタルアシスタント、及び当業者に知られている他のタイプのコンピューティングデバイスを含む、他のタイプのコンピューティングデバイスを含んでもよいことが理解されるべきである。また、コンピューターアーキテクチャー900は、図9に示すコンポーネントのすべてを含まなくてもよく、図9に明示的に示されない他のコンポーネントを含んでもよく、又は図9に示したものとは全く異なるアーキテクチャーを利用してもよいと考えられる。
[0087]上記に基づいて、プレゼンテーションウェブパーツを利用してウェブページ内にプレゼンテーションコンテンツを埋め込む技術が本明細書に開示されることが理解されるべきである。本明細書に提示される主題は、コンピューターの構造的特徴、方法論的及び変形させる行為、特定のコンピューティング機器、及びコンピューター読み取り可能な媒体に特有の言葉で説明されたが、添付の特許請求の範囲で定義される発明は必ずしも本明細書に記載の特定の特徴、行為、又は媒体に限定されないことが理解されるべきである。むしろ、特定の特徴、行為及び媒体は、特許請求の範囲を実施する例示的な形態として開示される。
[0088]上述した主題は、例示のみの目的で提供され、限定するものとして解釈されるべきではない。様々な修正及び変更が、図示されて説明された例示的な実施例及び用途に従うことなく、添付の特許請求の範囲に記載される本発明の真の趣旨及び範囲から逸脱することなく、本明細書に記載の主題に対してなすことができる。

Claims (10)

  1. コンピューター読み取り可能な命令を格納するコンピューター記憶媒体であって、前記コンピューター読み取り可能な命令は、コンピューターによって実行されると、前記コンピューターに、
    プレゼンテーションコンテンツを表示するインラインフレームを作成させ、
    前記インラインフレーム内でウェブアプリケーションを実行させ、
    前記ウェブアプリケーションを実行することの結果として前記インラインフレーム内に前記プレゼンテーションコンテンツを表示させる
    コンピューター記憶媒体。
  2. 前記インラインフレームはプレゼンテーションウェブパーツのインラインフレームコンストラクターによって作成され、前記インラインフレームコンストラクターは、前記プレゼンテーションコンテンツを表示するために前記インラインフレーム内での実行のために前記ウェブアプリケーションを呼び出す内部アプリケーションプログラミングインターフェイスと通信するように構成される外部アプリケーションプログラミングインターフェイスによって提供される機能であり、
    前記コンピューターによって実行されると、前記コンピューターに、前記外部アプリケーションプログラミングインターフェイスから前記内部アプリケーションプログラミングインターフェイスによって受け取られる命令ごとに前記インラインフレーム内で前記プレゼンテーションコンテンツを操作させる命令をさらに有し、前記プレゼンテーションコンテンツを操作する命令は、前記プレゼンテーションコンテンツを再生し、前記プレゼンテーションコンテンツを停止し、前記プレゼンテーションコンテンツの次のスライドを選択し、前記プレゼンテーションコンテンツの前のスライドを選択し、又は前記プレゼンテーションコンテンツの現在閲覧可能なスライドの識別情報を表示する命令を含む請求項1に記載のコンピューター記憶媒体。
  3. 前記インラインフレームはビューアーを含み、前記インラインフレーム内で前記プレゼンテーションコンテンツを表示する命令は、前記ビューアー内に前記プレゼンテーションコンテンツを表示する命令を含む請求項1に記載の媒体。
  4. 前記インラインフレームは、前記インラインフレームの外部にあるユーザーインターフェイスに関連付けられ、前記ビューアー内に表示される前記プレゼンテーションコンテンツを操作するように構成される請求項4に記載のコンピューター記憶媒体。
  5. プレゼンテーションコンテンツのサイズを選択するコンピューターにより実施される方法であって、
    プレゼンテーションコンテンツを複数のサイズにスケーリングし、
    前記プレゼンテーションコンテンツを前記複数のサイズでキャッシュし、
    前記プレゼンテーションコンテンツの要求を受け取り、
    前記プレゼンテーションコンテンツが表示されるべきターゲットインラインフレームについての前記複数のサイズのうちの適切なサイズで前記プレゼンテーションコンテンツを取得し、
    前記適切なサイズのプレゼンテーションコンテンツを前記ターゲットインラインフレームに挿入する
    ためのコンピューターにより実施される動作を実行するステップを含む方法。
  6. 前記プレゼンテーションコンテンツに対する最初の要求を受け取るステップをさらに含み、前記プレゼンテーションコンテンツを前記複数のサイズにスケーリングするステップは、前記プレゼンテーションコンテンツに対する最初の要求に応答する請求項5に記載のコンピューターにより実施される方法。
  7. 前記適切なサイズは、前記ターゲットインラインフレームのサイズ以下の、前記複数のサイズのうちの少なくとも1つである請求項5に記載のコンピューターにより実施される方法。
  8. 前記プレゼンテーションコンテンツの要求を受け取ることに応答して、
    前記ターゲットインラインフレームの寸法が前記複数のサイズのうちの第1のサイズの最小寸法以下であるかどうかを判定するステップと、
    前記ターゲットインラインフレームの寸法が前記第1のサイズ以下である場合に、前記第1のサイズを適切なサイズとして選択するステップと、
    前記ターゲットインラインフレームの寸法が前記第1のサイズの最小寸法以下でない場合に、第2のサイズを適切なサイズとして選択するステップと
    をさらに含む請求項5に記載のコンピューターにより実施される方法。
  9. 前記プレゼンテーションコンテンツの要求を受け取ることに応答して、
    前記ターゲットインラインフレームの寸法が前記複数のサイズのうちの第1のサイズの第1の最小寸法以下であるかどうかを判定するステップと、
    前記ターゲットインラインフレームの寸法が前記第1のサイズの前記第1の最小寸法以下である場合に、前記第1のサイズを適切な大きさとして選択するステップと、
    前記ターゲットインラインフレームの寸法が前記第1の最小寸法以下でない場合に、前記ターゲットインラインフレームの寸法が第2のサイズの第2の最小寸法以下であるかどうかを判定するステップと、
    前記ターゲットインラインフレームの寸法が前記第2のサイズの前記第2の最小寸法以下である場合に、前記第2のサイズを前記適切なサイズとして選択するステップと、
    前記ターゲットインラインフレームの寸法が前記第2のサイズの前記最小寸法以下でない場合に、第3のサイズを前記適切なサイズとして選択するステップと
    をさらに含む請求項5に記載のコンピューターにより実施される方法。
  10. コンピューター読み取り可能な命令を格納するコンピューター記憶媒体であって、前記コンピューター読み取り可能な命令は、コンピューターによって実行されると、前記コンピューターに、
    ウェブページ内で、インラインフレームをプレゼンテーションコンテンツウェブパートの一部として表示させ、
    前記インラインフレーム内にプレゼンテーションコンテンツを表示させ、
    内部アプリケーションプログラミングインターフェイスにおいて、外部アプリケーションプログラミングインターフェイスからのpostMessage内の命令を受け取らせ、該命令は前記インラインフレーム内で前記プレゼンテーションコンテンツを操作するためのものであり、
    前記postMessage内で前記内部アプリケーションプログラミングインターフェイスによって受け取られた命令に従って、前記インラインフレーム内で前記プレゼンテーションコンテンツを操作させる
    コンピューター記憶媒体。
JP2014514515A 2011-06-07 2012-06-03 プレゼンテーションアプリケーションのための埋め込みウェブビューアー Pending JP2014524069A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/154,462 2011-06-07
US13/154,462 US20120317486A1 (en) 2011-06-07 2011-06-07 Embedded web viewer for presentation applications
PCT/US2012/040629 WO2012170312A2 (en) 2011-06-07 2012-06-03 Embedded web viewer for presentation applications

Publications (1)

Publication Number Publication Date
JP2014524069A true JP2014524069A (ja) 2014-09-18

Family

ID=47294212

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014514515A Pending JP2014524069A (ja) 2011-06-07 2012-06-03 プレゼンテーションアプリケーションのための埋め込みウェブビューアー

Country Status (12)

Country Link
US (1) US20120317486A1 (ja)
EP (1) EP2718811A4 (ja)
JP (1) JP2014524069A (ja)
KR (1) KR20140033094A (ja)
CN (1) CN103608770A (ja)
AR (1) AR086869A1 (ja)
BR (1) BR112013031297A2 (ja)
CA (1) CA2837557A1 (ja)
MX (1) MX2013014394A (ja)
RU (1) RU2013154425A (ja)
TW (1) TW201250587A (ja)
WO (1) WO2012170312A2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776744A (zh) * 2016-11-21 2017-05-31 中国软件与技术服务股份有限公司 一种基于互联网信息的软件开发方法及系统
JP2018520530A (ja) * 2015-04-10 2018-07-26 ソニー株式会社 ホームネットワークを介したウェブアプリケーション番組ガイドコンテンツアイテムの共有
JP2020516975A (ja) * 2016-09-19 2020-06-11 コンテンツ ディレクションズ,インコーポレイテッド ディービーエー リンクストーム 境界上ウェブ・コンポジタの装置、方法、およびシステム

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120331376A1 (en) * 2011-06-21 2012-12-27 Flash Networks, Ltd Inserting content in association with a web page that is transmitted to a computing device
JP5884542B2 (ja) * 2012-02-17 2016-03-15 株式会社リコー 機器、情報処理システム、情報処理方法、及び情報処理プログラム
US20140122544A1 (en) * 2012-06-28 2014-05-01 Transoft Technology, Inc. File wrapper supporting virtual paths and conditional logic
US10230673B1 (en) * 2015-05-18 2019-03-12 Google Llc Methods, systems, and media for generating contextually relevant messages
DE102015210197A1 (de) * 2015-06-02 2016-12-08 Kaapke GmbH Verfahren und System zum Darstellen von einer oder mehreren Präsentationen auf einer Benutzeroberfläche eines elektronischen Endgeräts
CN105468367A (zh) * 2015-11-19 2016-04-06 天脉聚源(北京)教育科技有限公司 播放ppt文件的方法及装置
CN108241597A (zh) * 2016-12-26 2018-07-03 北京奇虎科技有限公司 一种演示文稿的制作方法和装置
CN108241601A (zh) * 2016-12-26 2018-07-03 北京奇虎科技有限公司 一种在线制作演示文稿的方法和装置
CN108241602A (zh) * 2016-12-26 2018-07-03 北京奇虎科技有限公司 一种在线制作演示文稿的方法和装置
CN108241596A (zh) * 2016-12-26 2018-07-03 北京奇虎科技有限公司 一种演示文稿的制作方法和装置
US10691421B2 (en) * 2017-06-13 2020-06-23 Microsoft Technology Licensing, Llc Embedded designer framework and embedded designer implementation
US20190138165A1 (en) * 2017-11-09 2019-05-09 Satya Santosh Siddhantam Web parts integration in social networking system
US10824791B2 (en) * 2018-02-26 2020-11-03 Servicenow, Inc. System for building and modeling web pages
US10783316B2 (en) 2018-02-26 2020-09-22 Servicenow, Inc. Bundled scripts for web content delivery
CN116560970A (zh) * 2018-05-07 2023-08-08 谷歌有限责任公司 用于基于数字助理的应用的沉浸式基于web的模拟器
KR102181076B1 (ko) * 2019-01-22 2020-11-19 한종휘 슬라이드 쇼 시간 표시 기능을 갖는 usb 플래시 메모리
CN110780962B (zh) * 2019-10-15 2022-02-01 四川长虹电器股份有限公司 X窗口管理器中应用窗口标题栏和窗口控件显示的方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1315081C (zh) * 2003-03-31 2007-05-09 联想(北京)有限公司 一种预览网络资源的方法
US20050102358A1 (en) * 2003-11-10 2005-05-12 Gold Stuart A. Web page monitoring and collaboration system
US20050154679A1 (en) * 2004-01-08 2005-07-14 Stanley Bielak System for inserting interactive media within a presentation
US7925973B2 (en) * 2005-08-12 2011-04-12 Brightcove, Inc. Distribution of content
US8046428B2 (en) * 2006-07-25 2011-10-25 Microsoft Corporation Presenting video content within a web page
US7877687B2 (en) * 2007-08-16 2011-01-25 Yahoo! Inc. Persistent visual media player
US8108770B2 (en) * 2007-08-27 2012-01-31 Yahoo! Inc. Secure inter-module communication mechanism
CN101419602A (zh) * 2007-10-24 2009-04-29 英业达股份有限公司 基于web的办公文件档案的编辑接口的生成方法
US8386942B2 (en) * 2008-04-14 2013-02-26 Disney Enterprises, Inc. System and method for providing digital multimedia presentations
US20100153839A1 (en) * 2008-12-10 2010-06-17 David Wilkins System and method for creating web-based application templates
US8473571B2 (en) * 2009-01-08 2013-06-25 Microsoft Corporation Synchronizing presentation states between multiple applications
CN101567065B (zh) * 2009-05-26 2012-11-28 杭州世导科技有限公司 跨平台的文档在线编辑系统及其方法
US20110264705A1 (en) * 2010-04-22 2011-10-27 Brandon Diamond Method and system for interactive generation of presentations

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018520530A (ja) * 2015-04-10 2018-07-26 ソニー株式会社 ホームネットワークを介したウェブアプリケーション番組ガイドコンテンツアイテムの共有
JP2020516975A (ja) * 2016-09-19 2020-06-11 コンテンツ ディレクションズ,インコーポレイテッド ディービーエー リンクストーム 境界上ウェブ・コンポジタの装置、方法、およびシステム
CN106776744A (zh) * 2016-11-21 2017-05-31 中国软件与技术服务股份有限公司 一种基于互联网信息的软件开发方法及系统

Also Published As

Publication number Publication date
RU2013154425A (ru) 2015-06-20
AR086869A1 (es) 2014-01-29
TW201250587A (en) 2012-12-16
US20120317486A1 (en) 2012-12-13
WO2012170312A2 (en) 2012-12-13
CA2837557A1 (en) 2012-12-13
KR20140033094A (ko) 2014-03-17
BR112013031297A2 (pt) 2016-11-29
EP2718811A4 (en) 2014-11-19
CN103608770A (zh) 2014-02-26
MX2013014394A (es) 2014-03-21
WO2012170312A3 (en) 2013-03-07
EP2718811A2 (en) 2014-04-16

Similar Documents

Publication Publication Date Title
JP2014524069A (ja) プレゼンテーションアプリケーションのための埋め込みウェブビューアー
US10686788B2 (en) Developer based document collaboration
US10909304B2 (en) Methods and systems for WYSIWYG web content generation
JP2020194567A (ja) ウェブコンテンツ生成方法およびシステム
US8074167B2 (en) Cross domain presence of web user interface and logic
US9223548B2 (en) Method and apparatus for providing an application canvas framework
US9772978B2 (en) Touch input visualizations based on user interface context
KR20150040914A (ko) e-리더 시스템
US20150033109A1 (en) Presenting mutlimedia objects with annotations
Firtman jQuery mobile: up and running
CN110020329B (zh) 用于生成网页的方法、装置和系统
MX2011012936A (es) Utilizacion de pre-procesamiento de servidor para desplegar presentaciones de documentos electronicos en una red de computadora.
US20170315713A1 (en) Software application creation for non-developers
Mavrody Sergey's HTML5 & CSS3 Quick Reference: Color Edition
CN113196275A (zh) 经由计算机网络的基于网络的协作墨迹书写
US8650485B2 (en) Method for integrating really simple syndication documents
Horspool et al. TouchDevelop: programming on the go
Firdaus et al. HTML5 and CSS3: Building Responsive Websites
AU2012268552A1 (en) Embedded Web viewer for presentation applications
Emerson et al. Beginning Windows 8 and Microsoft Office 2013
Powers Adobe Dreamweaver CS5. 5 Studio Techniques: Designing and Developing for Mobile with jQuery, HTML5, and CSS3
Allana ASP. NET jQuery Cookbook
Simpson Introduction to JavaScript
Northwood et al. Front End
CN117348960A (zh) 一种网页内容导出方法、装置、设备及介质