InAppBrowser または childbrowser で外部ページを開きたいのですが、ここではツールバーを表示せず、外部ページにブラウザを閉じてブラウザを開いた場所からアプリに戻るボタンを配置できます。では、DONE ボタンがない場合、どのように閉じるのでしょうか? var ref = window.open(encodeURI(url), '_self', 'location=yes'); その後、ref.close(); でブラウザーを閉じることができます。しかし、開いた外部ページでそれを使用しても機能しません。ブラウザを閉じていませんか?
設定ファイルで向きを縦向きに設定している場合、自動回転する方法はありますか? ビルド サービスを使用せずに手動で行うと、子ブラウザーを自動回転できることはわかっています。または、方向を両方に設定する必要がありますか?
ChildBrowser と InAppBrowser を開くさまざまな方法をすべてテストしましたが、それらの間に大きな違いは見られませんか? InAppBrowser は、ChildBrowser ができないネイティブ機能を使用できますか?
22579 次
2 に答える
9
OK、閉じる問題 1 は解決しました。これは、InAppBrowser で外部ページを開くために使用するものです。InAppBrowser にロードしたページから、InAppBrowser 自体を閉じて、ブラウザーを開いた場所からアプリに戻ることができます。
サーバー上にページを作成します - closeInAppBrowser.html は単なる空の html ページであり、何もしません。
これでブラウザを開きます:
<a href="#" onclick="openInAppBrowserBlank('http://www.mypage.asp?userId=1');">open InAppBrowser</a>
var ref = null;
function openInAppBrowserBlank(url)
{
try {
ref = window.open(encodeURI(url),'_blank','location=no'); //encode is needed if you want to send a variable with your link if not you can use ref = window.open(url,'_blank','location=no');
ref.addEventListener('loadstop', LoadStop);
ref.addEventListener('exit', Close);
}
catch (err)
{
alert(err);
}
}
function LoadStop(event) {
if(event.url == "http://www.mypage.com/closeInAppBrowser.html"){
// alert("fun load stop runs");
ref.close();
}
}
function Close(event) {
ref.removeEventListener('loadstop', LoadStop);
ref.removeEventListener('exit', Close);
}
そして、ブラウザで開いたページ( http://www.mypage.asp )から InAppBrowser を閉じるには、このようなボタンリンクがあります。
<a href="http://www.mypage.com/closeInAppBrowser.html"></a>
それが他の誰かに役立つことを願っています!
于 2013-03-29T10:05:35.863 に答える
8
これは、誰かを助けるかもしれないより簡単な解決策です。
// open win and turn off location
var ref = window.open('http://myloginapp.com', '_blank', 'location=no');
// attach listener to loadstart
ref.addEventListener('loadstart', function(event) {
var urlSuccessPage = "http://myloginapp/success/";
if (event.url == urlSuccessPage) {
ref.close();
}
});
于 2013-04-18T04:25:29.360 に答える