2012-03-06 10 views
1

私は、カスタムのPhoneGapプラグインを作成するには、このチュートリアルを使用しています: http://wiki.phonegap.com/w/page/36753496/How%20to%20Create%20a%20PhoneGap%20Plugin%20for%20iOSカスタムPhoneGapのプラグイン(iOSの)機能の問題

私は著者の一例を使用して成功を収めているが、私は私がされていないいくつかの質問を持っています答えを見つけることができます。 JavaScript関数が作成されると

、コードは次のとおりです。var MyPlugin = {...};nativeFunctionせずにこれを設定する方法は

var MyPlugin = { 

    nativeFunction: function(types, success, fail) { 
      return PhoneGap.exec(success, fail, "PluginClass", "print", types); 
    } 
}; 

ありますか?言い換えれば、私たちは、このコードは、上記を行う方法がある可能性が想定して、第二にmyfunc = function()...

のような私たちのプラグインの機能を定義することができます。テストコードをテストすることです

MyPlugin.nativeFunction(
     ["HelloWorld"] , 
     function(result) { 
      alert("Success : \r\n"+result);  
     }, 
     function(error) { 
      alert("Error : \r\n"+error);  
     } 
); 

(プラグイン)も標準化された方法で書かれていますか?つまり、nativeFunction部分のないJavascript関数への呼び出しだけですか?

私は非常に入力を感謝します、ありがとう!

答えて

1

プラグイン用のphonegapのマニュアルは嫌です。正直なところ、私は自分自身を作成し​​ようとすると、たくさんの問題がありました。いくつかのヒント:これは私たちにそのjsオブジェクトに固有の範囲のものを私たちにできるので

var MyPlugin = {}; 

を行うための理由があります。 例: -

PhoneGap.exec(success,fail,"MyPlugin","myFunction",types); 

MyPlugin.myFunction(); 

私のお気に入りの方法は、あなたの質問に似たプラグインを作成するためには、プラグインの火を作るための鍵はこれです、彼らに

var MyPlugin = {}; // our object 

MyPlugin.prototype.myFunction = function(success,fail,types){ 

} 

のプロトタイプを作成することですしかし、私たちがプラグインにオプションを持たせたいのであれば、どうしたらいいのでしょうか?もし文字列を渡す以上のことをしたいのであれば、この例はうまくいかないでしょう。修正は簡単ですが、全く話されていません。私は彼らの文書が実際にどのようにについて話していないことを奇妙た

var foo = MyPlugin.myFunction(success,fail,{ 
foo:'hello', 
bar:'world' 
}); 

あなたはPhoneGapのAPIをのほとんどは、この構文を使用していることに気づくでしょう、 -

var MyPlugin = {}; 
MyPlugin.prototype.myFunction = function(success,fail,options){ 
    var defaults = { 
     foo: '', // these are options 
     bar: '', 
    }; 

    // this parses our "options" 
    for(var key in defaults) { 
     if(typeof options[key] !== "undefined") defaults[key] = options[key]; 
    } 

    return PhoneGap.exec(success,fail,"MyPlugin","myFunction",[defaults]); 
} 

我々はJavaScriptでこれを呼び出しますこれをする。

私はプラグインについての投稿を持っています。あなたが作成したものを参照用にチェックアウトすることができます。 } ;! ブログ - http://www.drewdahlman.com/meusLabs/?p=138 Gitは - `PhoneGap.addConstructor(関数(){ 場合(window.plugins){ window.plugins = {} - https://github.com/DrewDahlman/ImageFilter

+0

を使用すると、PhoneGapのコンストラクタを使用していることを確認しwindow.plugins。MyPlugin = new MyPlugin(); }); ' –

+0

これはあなたのプラグインのjsファイルに入れてください - このgitプロジェクトをチェックしてください - https://github.com/DrewDahlman/ImageFilter/blob/master/plugin/ImageFilter.js –

+0

はあなたにエラーを与えています?または全く働いていないのですか? –

関連する問題