আমি এটি দেখেছি এবং ভেবেছিলাম এটি বেশ সুন্দর দেখাচ্ছে তাই আমি এটিতে কিছু পরীক্ষা চালিয়েছি।
এটি একটি পরিষ্কার পদ্ধতির মতো মনে হতে পারে, তবে পারফরম্যান্সের ক্ষেত্রে এটি jQuery লোড ফাংশন সহ একটি পৃষ্ঠা লোড করার সময় বা এক্সএমএলএইচটিপিআরকেস্টের ভ্যানিলা জাভাস্ক্রিপ্ট পদ্ধতির ব্যবহারের সময়টির তুলনায় এটি 50% ছাড়িয়ে যাচ্ছে যা প্রায় একে অপরের সাথে প্রায় একই রকম ছিল।
আমি ধারণা করি এটি কারণ হুডের নিচে এটি ঠিক একই ফ্যাশনে পৃষ্ঠাটি পায় তবে এটি একটি সম্পূর্ণ নতুন এইচটিএমলেমেন্ট উপাদানটিও নির্মাণ করতে পারে।
সংক্ষেপে আমি jQuery ব্যবহার করার পরামর্শ দিচ্ছি। সিনট্যাক্সটি যতটা সহজেই ব্যবহার করা যায় ঠিক তত সহজেই ব্যবহার করা যায় এবং আপনার ব্যবহারের জন্য এটি একটি সুন্দর কাঠামোগত কল ফিরে আসে। এটি তুলনামূলকভাবে দ্রুতও হয়। ভ্যানিলা অ্যাপ্রোচ অযৌক্তিক কয়েকটি মিলিসেকেন্ডে দ্রুত হতে পারে তবে বাক্য গঠনটি বিভ্রান্তিকর। আমি এটি কেবল এমন পরিবেশে ব্যবহার করব যেখানে আমার jQuery এ অ্যাক্সেস নেই।
এখানে আমি পরীক্ষার জন্য যে কোডটি ব্যবহার করেছি তা এখানে - এটি মোটামুটি রুচিশীল কিন্তু সময়টি একাধিক চেষ্টা জুড়ে খুব সামঞ্জস্যপূর্ণ ফিরে আসে তাই আমি প্রতিটি ক্ষেত্রে প্রায় + - 5 মাইল অবধি ঠিক বলতে পারি। আমার নিজের হোম সার্ভার থেকে ক্রোমে টেস্টগুলি চালানো হয়েছিল:
<!DOCTYPE html>
<html>
<head>
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
</head>
<body>
<div id="content"></div>
<script>
/**
* Test harness to find out the best method for dynamically loading a
* html page into your app.
*/
var test_times = {};
var test_page = 'testpage.htm';
var content_div = document.getElementById('content');
// TEST 1 = use jQuery to load in testpage.htm and time it.
/*
function test_()
{
var start = new Date().getTime();
$(content_div).load(test_page, function() {
alert(new Date().getTime() - start);
});
}
// 1044
*/
// TEST 2 = use <object> to load in testpage.htm and time it.
/*
function test_()
{
start = new Date().getTime();
content_div.innerHTML = '<object type="text/html" data="' + test_page +
'" onload="alert(new Date().getTime() - start)"></object>'
}
//1579
*/
// TEST 3 = use httpObject to load in testpage.htm and time it.
function test_()
{
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
{
content_div.innerHTML = xmlHttp.responseText;
alert(new Date().getTime() - start);
}
};
start = new Date().getTime();
xmlHttp.open("GET", test_page, true); // true for asynchronous
xmlHttp.send(null);
// 1039
}
// Main - run tests
test_();
</script>
</body>
</html>
load_home(); return false