【问题标题】:webservice.htc, moz-behaviors and Firefox 3webservice.htc、moz-behaviors 和 Firefox 3
【发布时间】:2010-11-05 18:06:51
【问题描述】:

在尝试让我们的应用在 Firefox 中运行时(我是 X-Browser 支持的大力支持者,但我们的首席开发人员拒绝我说 IE 已经足够好)。所以我正在做一个小项目,看看要转换多少工作。

我马上就遇到了问题。

main.aspx 页面使用仅 IE 方法通过 htc 文件添加行为的方法绑定到 Web 服务,该方法由 VS I beleive 自动生成。

Firefox 不支持此功能,但有一个 xml 绑定文件可用于启用 htc 支持(请参阅此处: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 没有定义(在 IE 中工作正常),我显然尝试过

var webservice = document.getElementById("webservice") 

$("#webservice").useService(url + asmpath + "/WebServiceWrapper.asmx?WSDL","WebServiceWrapper");

这只是在 Firebug 中给了我“未定义 useService”。这让我相信绑定不起作用。但是我可以在 Firebug 控制台窗口中看到 Firefox 正在加载 webservice.htc。

有人有这方面的经验吗?

我是否必须重写 web 服务的调用方式?

干杯, 抢

【问题讨论】:

    标签: javascript web-services firefox cross-browser html-components


    【解决方案1】:

    我不认为您在实现真正的跨浏览器兼容性方面是正确的。为 Firefox 添加对 IE 特定功能的支持绝对是不是要走的路。 Opera、Safari、Chrome……呢?如果您正在开发的应用程序严格在 Intranet 上使用,那么支持 Firefox 可能就足够了……

    恕我直言,代码应该重构,但以其他方式。如果您正在使用 ASP.NET 2.0(在这种情况下您需要 ASP.NET Ajax)或更新版本,您可以在 Ajax 和 SOAP Web 服务之间创建代理。在这种情况下,您需要将所有行为重写为 JavaScript 代码,这可能不是一件小事。

    附带说明:AFAIK VS.NET 不会生成行为。

    对不起,如果这不是太有用:(

    【讨论】:

      【解决方案2】:

      您的 jQuery sn-p 有一个错误:因为 useService 是在节点本身上定义的方法,而不是 jQuery 对象,所以您必须这样做:

      $("#webservice")[0].useService(url + asmpath +
        "/WebServiceWrapper.asmx?WSDL","WebServiceWrapper");
      

      【讨论】:

        猜你喜欢
        • 2012-07-12
        • 2011-06-03
        • 1970-01-01
        • 2012-12-10
        • 2019-12-28
        • 1970-01-01
        • 1970-01-01
        • 2010-11-23
        • 2014-02-03
        相关资源
        最近更新 更多