2011-12-14 9 views
5

HTMLとbodyタグを削除して、自分のWebページ内のdivとしてHTMLページをロードしたいとします。しかし、HTMLページには<body onload=" ... " >がありますので、この機能を使用して作業を続ける必要があります。 <div onload=" ... " >が機能していないようです。元のウェブサイトコード(php)を直接編集することなく、このonload関数を自分のウェブサイトの本文に挿入するにはどうすればいいですか?divのonload関数を作成するには?

答えて

3

あなたは上記のコードはdiv要素を含むページに行く

$(document).ready(function() { 
    $("#containing-div").load("[url of page with onload function]"); 
}); 

あなたのdivにページの内容をロードするためにjQuery.loadを使用することができます。 onload関数を持つページは変更されません。

+1

おかげで、これは問題を解決しました! – Jenny

1

追加されたJavascriptタグは、読み込まれるとすぐに実行される、読み込まれたページの最後に追加することができます(div内に挿入された後)。このように:

<div> 
    Insert the inner html content of that pages here and add this script at the bottom and add the onload function of the original html to this script. 
    <script type="javascript"> 
     alert("hello world"); 
    </script> 
</div> 

ちょうどあなたのページに利用できるJavaScriptを持っていることを忘れないでください。私が意味することは、呼び出すjavascript関数がonload="..."の中で呼び出された場合、読み込み中のHTMLドキュメントの<head>に定義されていて、<head>を投げていると、これは機能しません。

1

以前にjQueryを使用しましたか?そう、ちょうどあなたのdivのIDを取得する場合(のは「SomeDiv」と言わせて)、その後、このような「準備」メソッドを使用します。

$("#SomeDiv").ready(
function(){ 
    //do stuff 
    }); 
-2

あなたはdiv要素にonloadイベントを追加したい場合は、することはできませんが、 onkeydownを追加して、ドキュメントロード時にonkeydownイベントをトリガーすることができます。

<div onkeydown="setCss();"></div> 

$(function() { 
    $(".ccsdvCotentPS").trigger("onkeydown"); 
}); 
0

ない最高のが、1つの方法は、それがロードされる場合は、定期的にdiv要素をチェックすることです:

var myInterval = setInterval(function() { 
if ($('.mydiv') && $('.mydiv').width() > 0) { 
// write your logic here 
clearInterval(myInterval); 
    } 
}, 3000); 
関連する問題