2011-12-14 25 views
5

मैं अपने एचटीएमएल पेज को अपने वेबपृष्ठ के अंदर अपने एचटीएमएल और बॉडी टैग को हटाकर एक div के रूप में लोड करना चाहता हूं। लेकिन एचटीएमएल पेज में <body onload=" ... " > है, मुझे काम जारी रखने के लिए इस फ़ंक्शन की आवश्यकता है। लगता है <div onload=" ... " > काम नहीं कर रहा है। मैं अपने मूल वेबसाइट कोड (PHP) को सीधे संपादित किए बिना इस वेबसाइट के बॉडी (केवल इस पृष्ठ पर) में इस ऑनलोड फ़ंक्शन को कैसे सम्मिलित कर सकता हूं?div divload फ़ंक्शन कैसे बनाएं?

उत्तर

3

आप अपने div

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

कोड ऊपर पेज कि div शामिल में चला जाता है में पृष्ठ की सामग्री लोड करने के लिए jQuery.load उपयोग कर सकते हैं। ऑनलोड फ़ंक्शन वाले पृष्ठ को बदला नहीं जाता है।

+1

धन्यवाद, इस समस्या का समाधान! – Jenny

1

आप लोड किए गए पृष्ठ के अंत में एक अतिरिक्त जावास्क्रिप्ट टैग जोड़ सकते हैं (एक बार 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> 

बस अपने पृष्ठ पर जावास्क्रिप्ट उपलब्ध होना याद रखें। मेरा मतलब यह है कि अगर जावास्क्रिप्ट फ़ंक्शन जिसे onload="..." के अंदर बुलाया जाता है तो लोडिंग HTML दस्तावेज़ के <head> में परिभाषित किया गया है और आप <head> बाहर फेंक रहे हैं तो यह काम नहीं करेगा।

1

क्या आपने पहले jQuery का उपयोग किया है? यदि हां, तो बस अपने div की आईडी मिल (के कहते हैं कि "SomeDiv" चलो) और फिर इस तरह "तैयार" विधि का उपयोग करें:

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

आप एक div पर ऑनलोड घटना जोड़ना चाहते हैं, तो आप नहीं कर सकते हैं, लेकिन आप ऑनकीडाउन जोड़ सकते हैं और दस्तावेज़ लोड पर ऑनकीडाउन ईवेंट ट्रिगर कर सकते हैं।

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

$(function() { 
    $(".ccsdvCotentPS").trigger("onkeydown"); 
}); 
0
सर्वश्रेष्ठ नहीं है

लेकिन एक तरह से div जाँच करने के लिए समय-समय पर है अगर यह भरी हुई है:

var myInterval = setInterval(function() { 
if ($('.mydiv') && $('.mydiv').width() > 0) { 
// write your logic here 
clearInterval(myInterval); 
    } 
}, 3000); 
संबंधित मुद्दे