0

Javascript でclientCapsオブジェクトを調べようとしています (MSIE の動作に詳しくありません)。しかし、あまり運がありません。

他の制約により、ページの HTML を実際に変更できないため、要素を動的に追加しようとしています。私が使用しているコードを以下に示します - 例外が発生し続けます (オブジェクトはこのプロパティまたはメソッドをサポートしていません)。私が間違っていることはありますか?

                    var out="";
                    try {
                      var b = document.getElementsByTagName("body")[0];
                      var s = document.createElement("div");

                      // attempt 1 - exception
                      // s.id="oClientCaps";
                      // s.style.behaviour="url('#default#clientCaps')";
                      //
                      // attempt 2 - exception
                      // s.innerHTML='<a ID="oClientCaps" style="behavior:url(#default#clientcaps)"></a>';
                      //
                      // attempt 3 - exception
                      s.id="oClientCaps";
                      s.addBehavior ("#default#clientCaps");

                      b.appendChild(s);
                      var clids = Array('{7790769C-0471-11D2-AF11-00C04FA35D02}', // address bk
                          ...
                          '{08B0E5C0-4FCB-11CF-AAA5-00401C608500}'); // MS VM

                      for(i=0;i<clids.length;i++) {
                        if(oClientCaps.isComponentInstalled(clids[i],"ComponentID")){
                          out+=clsids[i] 
                             + oClientCaps.getComponentVersion(clids[i],"ComponentID") 
                             + '; ';
                        } else {
                          out+='N; '
                        }
                      }
                    } catch (e) {
                      out+="clientCaps failed";
                    }
                    return out;

ティア

4

1 に答える 1

0

以下が機能することがわかりました(ただし、他の方法が失敗した理由はわかりません):

var b = document.getElementsByTagName("body")[0];
var s = document.createElement("div");
s.innerHTML="<div style='behavior:url(#default#clientCaps)' ID='oClientCaps' ></div>";
b.appendChild(s);
(etc)
于 2012-04-23T11:00:55.200 に答える