2012-02-24 10 views
11

私のアプリにはいくつかのJSアラートがあり、いつものようにページ名が表示されているようです。PhoneGapを使用しているiOSのカスタムJavaScriptアラート

のindex.htmlは

私のアプリの名前やカスタムテキストへのindex.htmlを変更する方法があります。

例:あなたがあなた自身のタイトルを提供できるよう

My App // Which replaces .index.html 
alert("I am an alert box!"); 

答えて

14

Simon氏によると、それはphonegap APIの一部である通知をチェックアウトしています。

あなたはこのようにそれを呼び出す - オプション付き

通知:

navigator.notification.confirm(
    "This is my Alert text!", 
    callBackFunction, // Specify a function to be called 
    'Alert Title', 
    ["Ok", "Awesome"] 
); 

function callBackFunction(b){ 
    if(b == 1){ 
    console.log("user said ok"); 
    } 
    else { 
    console.log("user said Awesome"); 
    } 
} 

簡単な通知 -

navigator.notification.alert(
    "This is my Alert text!", 
    callBackFunctionB, // Specify a function to be called 
    'Alert Title', 
    "OK" 
); 
function callBackFunctionB(){ 
    console.log('ok'); 
} 

希望に役立ちます!

+0

私は後でおかげで、これを試してみる必要があるでしょう! – Blynn

+0

それは何も表示されていません、私は、アイオスアプリケーション、任意のアイデアのためのcordova-plugin-vibrationとcordova-plugin-dialogsプラグインをインストールしてみました。 – mavericks

+0

私のコードバスアプリは位置情報サービスを使用しているため、iOSはappディレクトリがあるユーザーのためにデフォルトのアラートをスローします。これを修正するには? –

15

は、デスクトップブラウザとのPhoneGapアプリケーションの両方でテストできるようにするには、私のような動的なアプローチを使用することをお勧め:

function showMessage(message, callback, title, buttonName) { 

    title = title || "default title"; 
    buttonName = buttonName || 'OK'; 

    if(navigator.notification && navigator.notification.alert) { 

     navigator.notification.alert(
      message, // message 
      callback, // callback 
      title,  // title 
      buttonName // buttonName 
     ); 

    } else { 

     alert(message); 
     callback(); 
    } 

} 
+2

これは最高の答えです。デスクトップとPhoneGapの両方をサポートしています! – JOM

+0

あなたはそれが有用であることがわかってうれしい@JOM! – Zorayr

+0

実際に 'invoke(callback)'の代わりに 'callback()'が必要です。それ以外の場合はエラーが発生します。invokeが定義されていません – igo

関連する問題