外部サイトへの誘導 (=requestExternalNavigateTo) を実装してみました

32 views
Skip to first unread message

なかじまん

unread,
Dec 1, 2009, 6:05:21 PM12/1/09
to OpenSocial jQuery Discussion
おはようございます。なかじまんです。できるときに、まとめてやっちゃいます。

続けて、外部サイトへの誘導 (=requestExternalNavigateTo) を実装してみました。

ソースコードと実例は、次の Changes を見てください。

OpenSocial jQuery mixi Platform 1.0.0 RC3
http://code.google.com/p/opensocial-jquery/source/detail?r=638

jQuery.view で URL を指定することで、外部サイトへの誘導になります。
パラメータを指定すると、QUERY_STRING を組み立てて URL に付与します。

$.view('http://www.google.com/');
$.view('http://www.google.com/search', { q: 'corgi' });

従来どおり、view の切り替えもできます。

$.view('profile');
$.view('home');
$.view('canvas', { q: 'corgi' });

外部サイトは view なのか? という自己疑問も若干ありますが、外部サイトに
誘導すると、アプリの画面が確認ページに遷移(=切り替わる)ので、view が
変わるという捉え方で整理しています。

spicebox 神部

unread,
Dec 2, 2009, 12:21:57 PM12/2/09
to opensoci...@googlegroups.com
神部です。

mixiのrequestExternalNavigateToを使っている上で
いつも困っている事がありまして、それは外部サイトの
確認画面が同じウインドウでしか開けないということです。

これを新規ウインドウやタブで指定できれば、もう少しアプリの
画面遷移もシンプルに出来るのですが、現状では一回外部サイトへの
確認画面を出すと、バックボタンを使わない限りは「アプリのトップに
戻る」しか選択肢がない状態です。占いの診断結果などから
複数の外部サイトに誘導したい場合などは結構不便です。

それが解決すれば・・・と期待もあるのですが、ソースコードを
拝見した限りmixi.util.requestExternalNavigateToをラップして
いるわけなので、mixi.util.requestExternalNavigateTo
自体にその機能がないことには対応しようがないですよねぇ…。

そもそも

gadgets.views - Gadgets API - Google Code
http://code.google.com/intl/ja/apis/gadgets/docs/reference/gadgets.views.html

自体がtargetの指定を想定していない気もします。

運用としてOKなのかどうかをmixiのコンテナ側に交渉するのは
アプリのベンダーが自前でやる範囲なのだとは思いますが、
それ以前の段階でやっぱり無理なんでしょうかね。

ニーズとしてはそんなものがありますという感じで、
中身のないコメントで申し訳ありません。

--
神部
--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Web のサービス続々リリース中!
http://labs.spicebox.jp/
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
スパイスボックスラボラトリ
神部竜二(mobile: 08059337029)
Ryuji Kanbe <ka...@spicebox.co.jp>

spicebox, inc. / 株式会社スパイスボックス
150-6016
渋谷区恵比寿4-20-3 YGPタワー16F
恵比寿ガーデンプレイス郵便局 私書箱5003
Tel 03-5449-7488 / Fax 03-5449-7487
http://www.spicebox.co.jp/
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

なかじまん

unread,
Dec 4, 2009, 8:40:40 AM12/4/09
to OpenSocial jQuery Discussion
こんばんは。なかじまんです。

プラットフォームで決まっている以上、こればっかりは、どうにも
ならないですね。

戻るリンクもアプリトップという位置付けのようで、view パラメー
タも引き継がないみたいですね。

だとすると、外部サイトに誘導する前に、どこかに状態を保存して、
アプリを表示するときに再現するみたいな仕掛けが必要そう...と受
け取りました。

On 12月3日, 午前2:21, spicebox 神部 <ka...@spicebox.co.jp> wrote:
> 神部です。
>
> mixiのrequestExternalNavigateToを使っている上で
> いつも困っている事がありまして、それは外部サイトの
> 確認画面が同じウインドウでしか開けないということです。
>
> これを新規ウインドウやタブで指定できれば、もう少しアプリの
> 画面遷移もシンプルに出来るのですが、現状では一回外部サイトへの
> 確認画面を出すと、バックボタンを使わない限りは「アプリのトップに
> 戻る」しか選択肢がない状態です。占いの診断結果などから
> 複数の外部サイトに誘導したい場合などは結構不便です。
>
> それが解決すれば・・・と期待もあるのですが、ソースコードを
> 拝見した限りmixi.util.requestExternalNavigateToをラップして
> いるわけなので、mixi.util.requestExternalNavigateTo
> 自体にその機能がないことには対応しようがないですよねぇ…。
>
> そもそも
>
> gadgets.views - Gadgets API - Google Codehttp://code.google.com/intl/ja/apis/gadgets/docs/reference/gadgets.vi...

なかじまん

unread,
Dec 4, 2009, 7:00:45 PM12/4/09
to OpenSocial jQuery Discussion
おはようございます。なかじまんです。

> jQuery.view で URL を指定することで、外部サイトへの誘導になります。
> パラメータを指定すると、QUERY_STRING を組み立てて URL に付与します。
> $.view('http://www.google.com/');
> $.view('http://www.google.com/search', { q: 'corgi' });

引数として指定するurlは、”http:”もしくは”https:”で始まる文字列を指定してください。
また、「*.mixi.jp」もしくは「*.mixi.co.jp」以外の遷移先を指定してください。

とあるので、$.view で、次の URL パターンを指定したときは、

*.mixi.jp
*.mixi.co.jp

アプリの規約をちゃんと把握していないのですが、mixi 内は自
由に開いてよいのであれば、requestExternalNavigateTo 使わ
ずに window.open(_top) を使うように切り替えればいいのかな。

On 12月2日, 午前8:05, なかじまん <nakaji...@lrlab.to> wrote:
> おはようございます。なかじまんです。できるときに、まとめてやっちゃいます。
>
> 続けて、外部サイトへの誘導 (=requestExternalNavigateTo) を実装してみました。
>
> ソースコードと実例は、次の Changes を見てください。
>
> OpenSocial jQuery mixi Platform 1.0.0 RC3http://code.google.com/p/opensocial-jquery/source/detail?r=638
Reply all
Reply to author
Forward
0 new messages