アプリを Firefox で動作させようとしている間 (私は X-Browser サポートの大きな支持者ですが、主任開発者は IE で十分だと言って抵抗しています)。そこで、変換にどれだけの労力がかかるかを確認するために、ちょっとしたサイド プロジェクトを行っています。
すぐに問題が発生しました。
main.aspx ページは、VS I beleive によって自動生成される htc ファイルを介して動作を追加する IE のみの方法を使用して Web サービスにバインドします。
Firefox はこれをサポートしていませんが、htc サポートを有効にするために使用できる xml バインディング ファイルがあります (こちらを参照してください: http://dean.edwards.name/moz-behaviors/overview/ )。例は FF3 で動作しますが、webservice.htc を通常どおりに使用すると、次のようになります。
//Main.aspx
/*SNIP*/
<style type="text/css" media="all">
#webservice
{
behavior:url(webservice.htc);
-moz-binding:url(bindings.xml#webservice.htc);
}
</style>
</head>
<body>
<div id="webservice"></div> <!-- we use this div to load the webservice stuff -->
/*SNIP*/
//Main.js
webservice.useService(url + asmpath + "/WebServiceWrapper.asmx?WSDL","WebServiceWrapper");
私は webservice is not defined (IE では正常に動作します) を取得しました。
var webservice = document.getElementById("webservice")
と
$("#webservice").useService(url + asmpath + "/WebServiceWrapper.asmx?WSDL","WebServiceWrapper");
同様に、Firebugで「useServiceが定義されていません」と表示されます。これにより、バインディングが機能していないと信じるようになります。ただし、Firebug コンソール ウィンドウで webservice.htc が Firefox によって読み込まれていることがわかります。
誰でもこれを経験しましたか?
Web サービスの呼び出し方法を書き直す必要がありますか?
乾杯、ロブ