সবচেয়ে সহজ উপায় হ'ল আপনার কোডটি একটি ক্লোপ এ মোড়ানো এবং বিশ্বব্যাপী আপনার প্রয়োজন কেবল সেই পরিবর্তনশীলগুলি বিশ্বব্যাপী উন্মুক্ত করুন:
(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