ජාවාස්ක්රිප්ට් භාවිතයෙන් පිටුව නැවත පූරණය කරන්නේ කෙසේද?
සියලුම බ්රව්සර්වල වැඩ කරන ක්රමයක් මට අවශ්යයි.
Answers:
ජාවාස්ක්රිප්ට් 1.0
window.location.href = window.location.pathname + window.location.search + window.location.hash;
// creates a history entry
ජාවාස්ක්රිප්ට් 1.1
window.location.replace(window.location.pathname + window.location.search + window.location.hash);
// does not create a history entry
ජාවාස්ක්රිප්ට් 1.2
window.location.reload(false);
// If we needed to pull the document from
// the web-server again (such as where the document contents
// change dynamically) we would pass the argument as 'true'.
location.reload();
වැඩි විස්තර සඳහා මෙම MDN පිටුව බලන්න .
ඔබ පසු ප්රබෝධයක් ලබා ගන්නේ නම්, onclick
පසුව ඔබ කෙලින්ම අසත්යය නැවත ලබා දිය යුතුය
location.reload();
return false;
location.reload()
සහ අතර වෙනස window.location.reload()
කුමක්ද?
location
ම ය window.location
වශයෙන් window
ගෝලීය වස්තුවකි.
return false;
සබැඳියක ඇති ඔන්ක්ලික් එකකින් මෙය ඇමතීමට අමතක නොකරන්න .
window.location.reload();
කියවීමේ හැකියාව සඳහා භාවිතා කිරීමට මම කැමැත්තෙමි location
- එහෙත් ඔබ සාමාන්යයෙන් නමේ විචල්යයන් මග හරිනු ඇත window
.
return false;
හසුරුවන්නෙකු තුළ දැඩි ලෙස අවශ්ය නොවේ: reload
වැඩිදුර සැකසුම් ඉක්මවා යන්නේ නැද්ද ?
ජාවාස්ක්රිප්ට් භාවිතයෙන් පිටුව නැවත පූරණය කිරීමට ක්රම 535 ක් මෙන්න , පහසුම දේ location = location
.
මේවා පළමු 50:
location = location
location = location.href
location = window.location
location = self.location
location = window.location.href
location = self.location.href
location = location['href']
location = window['location']
location = window['location'].href
location = window['location']['href']
location = window.location['href']
location = self['location']
location = self['location'].href
location = self['location']['href']
location = self.location['href']
location.assign(location)
location.replace(location)
window.location.assign(location)
window.location.replace(location)
self.location.assign(location)
self.location.replace(location)
location['assign'](location)
location['replace'](location)
window.location['assign'](location)
window.location['replace'](location)
window['location'].assign(location)
window['location'].replace(location)
window['location']['assign'](location)
window['location']['replace'](location)
self.location['assign'](location)
self.location['replace'](location)
self['location'].assign(location)
self['location'].replace(location)
self['location']['assign'](location)
self['location']['replace'](location)
location.href = location
location.href = location.href
location.href = window.location
location.href = self.location
location.href = window.location.href
location.href = self.location.href
location.href = location['href']
location.href = window['location']
location.href = window['location'].href
location.href = window['location']['href']
location.href = window.location['href']
location.href = self['location']
location.href = self['location'].href
location.href = self['location']['href']
location.href = self.location['href']
...
window.window.window['window'].location = window['window'].window['window']['window']['window']['window']['window']['window']['location']
ඔබට මෙම කාර්යය භාවිතා කළ හැකිය window.location.reload();
. මෙය කිරීමට බොහෝ ක්රම ඇති නමුත් මම සිතන්නේ එකම ලේඛනය ජාවාස්ක්රිප්ට් සමඟ නැවත පූරණය කිරීම සුදුසු ක්රමය බවයි. මෙන්න පැහැදිලි කිරීම
ජාවාස්ක්රිප්ට් window.location
වස්තුව භාවිතා කළ හැකිය
window
: JavaScript හි බ්රව්සරයක විවෘත කවුළුවක් නිරූපණය කරයි.
location
: ජාවාස්ක්රිප්ට් හි වත්මන් URL පිළිබඳ තොරතුරු ඇත.
මෙම location
වස්තුව ක කැබැල්ලක් වගේ window
වස්තුව හා ඒ මගින් කැඳවා ඇත window.location
දේපල.
location
වස්තුවට ක්රම තුනක් ඇත:
assign()
: නව ලේඛනයක් පූරණය කිරීමට භාවිතා කරයිreload()
: වත්මන් ලේඛනය නැවත පූරණය කිරීමට භාවිතා කරයිreplace()
: වත්මන් ලේඛනය නව එකක් සමඟ ප්රතිස්ථාපනය කිරීමට භාවිතා කරයිඑබැවින් මෙහිදී අප භාවිතා කළ යුතුය reload()
, මන්ද එය එකම ලේඛනය නැවත පූරණය කිරීමට උපකාරී වේ.
ඒ නිසා එය භාවිතා කරන්න window.location.reload();
.
හැඹිලියෙන් නොව සේවාදායකයෙන් පිටුව කෙලින්ම ලබා ගැනීමට ඔබගේ බ්රව්සරයෙන් ඉල්ලා සිටීමට, ඔබට true
පරාමිතියක් ලබා දිය location.reload()
හැකිය. මෙම ක්රමය IE, Chrome, Firefox, Safari, Opera ඇතුළු සියලුම ප්රධාන බ්රව්සර් සමඟ අනුකූල වේ.
replace()
විමසුම් දාමයේ සුළු වෙනසක් සහිතව මගේ පිටුව නැවත පූරණය කිරීමට අවශ්ය වූ නිසා මා සොයන විසඳුම බවට පත්විය.
උත්සාහ කරන්න:
window.location.reload(true);
'True' ලෙස සකසා ඇති පරාමිතිය සේවාදායකයෙන් නැවුම් පිටපතක් නැවත පූරණය කරයි. එය පිටවීම හැඹිලියෙන් පිටුවට සේවය කරයි.
වැඩි විස්තර MSDN සහ මොසිල්ලා ප්රලේඛනයෙන් සොයාගත හැකිය .
method="post"
පෝරමයක් ඉදිරිපත් කිරීමෙන් පසු වැනි POST ඉල්ලීම් සමඟ ලබාගත් පිටු නැවත පූරණය කිරීම පිළිබඳ තොරතුරු මම සොයමින් සිටියෙමි .
POST දත්ත තබා පිටුව නැවත පූරණය කිරීමට , භාවිතා කරන්න:
window.location.reload();
POST දත්ත ඉවතලමින් පිටුව නැවත පූරණය කිරීමට (GET ඉල්ලීමක් කරන්න), භාවිතා කරන්න:
window.location.href = window.location.href;
එකම තොරතුරු සොයන අනෙක් අයට මෙය උදව් වනු ඇතැයි අපේක්ෂා කරමු.
POST
ඉල්ලීමක් සමඟ ලබාගත් ලේඛනයක් නැවත පූරණය කිරීම පිළිබඳ සඳහනක් ඇතුළුව පිළිතුරට ස්තූතියි .
GET
සහ POST
ක්රම අතර හොඳ වෙනසක්
window.location.href = window.location.href
වත්මන් url හි a අඩංගු නම් පිටුව නැවත පූරණය නොවේ #
. ඔබට හැෂ් අවශ්ය නොවන්නේ නම් එය ඉවත් කළ හැකිය window.location.href = window.location.href.split('#')[0];
.
ජාවාස්ක්රිප්ට් භාවිතයෙන් පිටුවක් නැවත පූරණය කිරීමට, භාවිතා කරන්න:
window.location.reload();
මෙය මට වැඩ කරයි:
function refresh() {
setTimeout(function () {
location.reload()
}, 100);
}
ඔබ දැමුවහොත්
window.location.reload(true);
ඔබේ පිටුවේ ආරම්භයේ දී වෙනත් කිසිදු කොන්දේසියක් නොමැතිව එම කේතය ක්රියාත්මක වන්නේ ඇයිද යන්න සුදුසුකම් නොලබන විට, පිටුව පූරණය වන අතර ඔබ බ්රව්සරය වසා දමන තුරු එය නැවත පූරණය වේ.
location.href = location.href;
location.reload()
මොනවාද?
බොත්තමක් භාවිතා කිරීම හෝ එය "අ" (නැංගුරම්) ටැගයක් තුළ තබන්න:
<input type="button" value="RELOAD" onclick="location.reload();" />
වෙනත් අවශ්යතා සඳහා මේවා උත්සාහ කරන්න:
Location Objects has three methods --
assign() Used to load a new document
reload() Used to reloads the current document.
replace() Used to replace the current document with a new one
history.go()
තත්පර 20 කට පසු ස්වයංක්රීයව රීලෝඩ් පිටුව.
<script>
window.onload = function() {
setTimeout(function () {
location.reload()
}, 20000);
};
</script>
වත්මන් ලේඛනය නැවත පූරණය කිරීම සඳහා රීලෝඩ් () ක්රමය භාවිතා කරයි.
රීලෝඩ් () ක්රමය ඔබගේ බ්රව්සරයේ රීලෝඩ් බොත්තමට සමාන වේ.
පෙරනිමියෙන්, රීලෝඩ් () ක්රමය හැඹිලියෙන් පිටුව නැවත පූරණය කරයි, නමුත් ෆෝර්ස්ජෙට් පරාමිතිය true: location.reload (true) ලෙස සැකසීමෙන් ඔබට සේවාදායකයෙන් පිටුව නැවත පූරණය කිරීමට බල කළ හැකිය.
location.reload();
මෙය ක්රියාත්මක විය යුතුය:
window.location.href = window.location.href.split( '#' )[0];
හෝ
var x = window.location.href;
x = x.split( '#' );
window.location.href = x[0];
පහත සඳහන් හේතු නිසා මම මෙය වඩාත් කැමැත්තෙමි:
විකල්පයක් ලෙස, ඔබට මෙම කාර්යය සඳහා නවතම නිල ක්රමය භාවිතා කළ හැකිය
window.location.reload()
ස්තූතියි, මෙම ලිපිය ඉතා ප්රයෝජනවත් විය, යෝජිත පිළිතුර සමඟ පිටුව නැවත පූරණය කිරීමට පමණක් නොව, බොත්තමකට jQuery UI නිරූපකයක් තැබීමේ අදහස මට ලබා දීමටද:
<button style="display:block; vertical-align:middle; height:2.82em;"
title="Cargar nuevamente el código fuente sin darle un [Enter] a la dirección en la barra de direcciones"
class="ui-state-active ui-corner-all ui-priority-primary"
onclick="javascript:window.location.reload(true);">
<span style="display:inline-block;" class="ui-icon ui-icon-refresh"></span>
[<b>CARGAR NUEVAMENTE</b>]
</button>
ඔබට සරලව භාවිතා කළ හැකිය
window.location=document.URL
එහිදී document.URL හට වත්මන් පිටු URL ලැබෙනු ඇති අතර window.location එය නැවත පූරණය කරයි.