2011-09-17 17 views
2

私の.aspxページ(headセクション)に "test.js"ファイルを追加しました。document.body.setAttributeがIE-7で動作しない

test.jsで、「document.body.setAttribute( "onload"、 "testload()"); "というスクリプトを追加しました。

IE-8-9、Mozilla、Chrome、およびload testLoad()関数でうまくいきます。

IE-7では動作しません。

「body」の属性をIE-7のtest.jsファイルから設定する方法を教えてください。

+0

オンロードを設定するための独創的な方法です。私はそれを見たことがない。 – mplungjan

答えて

1

なぜbody.onloadwindow.onloadが異なっていることではない

window.onload = testload; 

または

window.onload = function() 
{ 
    //Some codes 
} 

注意。すべてのリソースがロードされた後にイベントハンドラを実行する場合は、window.onloadを使用します。

+0

私は同じものを使用し、それはうまく動作します – Shailesh

+0

window.onload = load; @Shai、確かに – Shailesh

+0

。それが動作する場合は、私の答えを正しいものとしてマークすることができます。ありがとう – dpp

0

IE7はobj.setAttribute('onload', doSomething);をサポートしていません。タイマーでIEを処理できます。

var myiFrame = document.createElement("iframe"); 
myiFrame.setAttribute("id", "myiFrame"); 
myiFrame.setAttribute("src", "something.aspx"); 
myiFrame.setAttribute("class", "myclass"); 
myiFrame.setAttribute("frameBorder", "0"); //For IE 
myiFrame.setAttribute("hspace", "0"); 
//For all: 
myiFrame.setAttribute("onload", "testload();"); 
document.getElementById("myDiv").appendChild(myiFrame); 
//For IE: 
if (isIE = /*@[email protected]*/false) { 
    setTimeout(function() { testload() }, 500); 
} 

それです。イベントリスナーをロード時に添付したい場合は、再度IEに修正が必要です。

function testload() { 
//Add event listener for click so that 
//resize myiFrame in case any changes occur in size of content when user clicks 
    var content = document.getElementById("myiFrame").contentWindow.document.body; 
    if (content.addEventListener) { //For all 
     content.addEventListener('click', function() { 
      //find the height of the internal page 
      var the_height = content.scrollHeight; 

      //change the height of the iframe 
      document.getElementById("myiFrame").height = the_height + 10; 
     }, false); 
    } 
    else if (content.attachEvent) { //For IE 
     cerceveIci.attachEvent('onclick', function() { 
      //find the height of the internal page 
      var the_height = cerceveIci.scrollHeight; 

      //change the height of the iframe 
      document.getElementById("kk-iframe").height = the_height + 10; 
     }); 
    } 
} 
関連する問題