সবচেয়ে সহজ উপায় হ'ল আপনার কোডটি একটি ক্লোপ এ মোড়ানো এবং বিশ্বব্যাপী আপনার প্রয়োজন কেবল সেই পরিবর্তনশীলগুলি বিশ্বব্যাপী উন্মুক্ত করুন:
(function() {
window['varName'] = varName;
})();
ক্রিসেন্ট ফ্রেশের মন্তব্যকে সম্বোধন করার জন্য: পুরোপুরি দৃশ্য থেকে বিশ্বব্যাপী ভেরিয়েবলগুলি অপসারণ করতে বিকাশকারীকে প্রশ্নে ধরে নেওয়া বেশ কয়েকটি জিনিস পরিবর্তন করতে হবে। এটি দেখতে আরও অনেক বেশি লাগবে:
জাভাস্ক্রিপ্ট:
(function() {
var addEvent = function(element, type, method) {
if('addEventListener' in element) {
element.addEventListener(type, method, false);
} else if('attachEvent' in element) {
element.attachEvent('on' + type, method);
} else if('on' + type in element) {
var oldMethod = element['on' + type],
newMethod = function(e) {
oldMethod(e);
newMethod(e);
};
} else {
element['on' + type] = method;
}
},
uploadCount = 0,
startUpload = function() {
var fil = document.getElementById("FileUpload" + uploadCount);
if(!fil || fil.value.length == 0) {
alert("Finished!");
document.forms[0].reset();
return;
}
disableAllFileInputs();
fil.disabled = false;
alert("Uploading file " + uploadCount);
document.forms[0].submit();
};
addEvent(window, 'load', function() {
var frm = document.forms[0];
frm.target = "postMe";
addEvent(frm, 'submit', function() {
startUpload();
return false;
});
});
var iframe = document.getElementById('postHere');
addEvent(iframe, 'load', function() {
uploadCount++;
if(uploadCount > 1) {
startUpload();
}
});
})();
এইচটিএমএল:
<iframe src="test.htm" name="postHere" id="postHere"></iframe>
আপনার কোনও ইনলাইন ইভেন্ট হ্যান্ডলারের প্রয়োজন নেই<iframe>
, এটি এখনও এই কোড সহ প্রতিটি লোডে আগুন জ্বালাবে।
লোড ইভেন্ট সম্পর্কিত
এখানে একটি পরীক্ষার কেস দেখানো হচ্ছে যে আপনার কোনও ইনলাইন onload
ইভেন্টের প্রয়োজন নেই। এটি একই সার্ভারে কোনও ফাইল (/emptypage.php) রেফারেন্স করার উপর নির্ভর করে, অন্যথায় আপনি কেবল এটি একটি পৃষ্ঠায় আটকানো এবং এটি চালাতে সক্ষম হবেন।
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>untitled</title>
</head>
<body>
<script type="text/javascript" charset="utf-8">
(function() {
var addEvent = function(element, type, method) {
if('addEventListener' in element) {
element.addEventListener(type, method, false);
} else if('attachEvent' in element) {
element.attachEvent('on' + type, method);
} else if('on' + type in element) {
var oldMethod = element['on' + type],
newMethod = function(e) {
oldMethod(e);
newMethod(e);
};
} else {
element['on' + type] = method;
}
};
var iframe;
try {
iframe = document.createElement('<iframe name="postHere">');
} catch (e) {
iframe = document.createElement('iframe');
iframe.name = 'postHere';
}
iframe.name = 'postHere';
iframe.id = 'postHere';
iframe.src = '/emptypage.php';
addEvent(iframe, 'load', function() {
alert('iframe load');
});
document.body.appendChild(iframe);
var form = document.createElement('form');
form.target = 'postHere';
form.action = '/emptypage.php';
var submit = document.createElement('input');
submit.type = 'submit';
submit.value = 'Submit';
form.appendChild(submit);
document.body.appendChild(form);
})();
</script>
</body>
</html>
সতর্কতাটি প্রতিবারই আমি সাফারি, ফায়ারফক্স, আই 6, 7 এবং 8 এর জমা বোতামটি ক্লিক করি click