ජාවාස්ක්‍රිප්ට් භාවිතයෙන් පිටුවක් නැවත පූරණය කරන්නේ කෙසේද


934

ජාවාස්ක්‍රිප්ට් භාවිතයෙන් පිටුව නැවත පූරණය කරන්නේ කෙසේද?

සියලුම බ්‍රව්සර්වල වැඩ කරන ක්‍රමයක් මට අවශ්‍යයි.

Answers:


994

ජාවාස්ක්‍රිප්ට් 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'.

අදහස් දීර් discussion සාකච්ඡාවක් සඳහා නොවේ; මෙම සංවාදය චැට් කිරීමට ගෙන ගොස් ඇත .
කෝඩි ග්‍රේ

451
location.reload();

වැඩි විස්තර සඳහා මෙම MDN පිටුව බලන්න .

ඔබ පසු ප්‍රබෝධයක් ලබා ගන්නේ නම්, onclickපසුව ඔබ කෙලින්ම අසත්‍යය නැවත ලබා දිය යුතුය

location.reload();
return false;

24
location.reload()සහ අතර වෙනස window.location.reload()කුමක්ද?
රැප්ටර්

58
@ShivanRaptor සාමාන්යයෙන් කිසිවක්, වෙබ් බ්රව්සර සන්දර්භය තුළ, locationම ය window.locationවශයෙන් windowගෝලීය වස්තුවකි.
ලෙකන්ස්ටයින්

1
return false;සබැඳියක ඇති ඔන්ක්ලික් එකකින් මෙය ඇමතීමට අමතක නොකරන්න .
රිමියන්

4
දේශීය විචල්‍යයක් විය හැකි පරිදි window.location.reload();කියවීමේ හැකියාව සඳහා භාවිතා කිරීමට මම කැමැත්තෙමි location- එහෙත් ඔබ සාමාන්‍යයෙන් නමේ විචල්‍යයන් මග හරිනු ඇත window.
යේටි

1
Im රිමියන් - IMHO, return false;හසුරුවන්නෙකු තුළ දැඩි ලෙස අවශ්‍ය නොවේ: reloadවැඩිදුර සැකසුම් ඉක්මවා යන්නේ නැද්ද ?
මෙවලම් සාදන්නා

236

ජාවාස්ක්‍රිප්ට් භාවිතයෙන් පිටුව නැවත පූරණය කිරීමට ක්‍රම 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']
...

89
එය සිත්ගන්නා සුළුය, නමුත් දැන් මම ව්‍යාකූල වී සිටිමි
අරුන් ප්‍රසාද් ඊඑස්

15
එය ජාවාස්ක්‍රිප්ට්හි සුවිශේෂත්වය ද ඉස්මතු කරයි :)
ජෙරමි තිල්ල්

66
ස්ථානය වෙනස් කිරීම සඳහා විවිධාකාර ක්‍රියාත්මක කිරීම් අතළොස්සක් පෙන්වන බැවින් මම මෙම පිළිතුරට පෞද්ගලිකව අකමැතියි. මෙම ක්‍රමයන් ශ්‍රිතයක් ක්‍රියාත්මක කිරීමට හෝ ජාවාස්ක්‍රිප්ට් හි ගුණාංගයකට ප්‍රවේශ වීමට විවිධ ක්‍රමවල ප්‍රේරණයන් වේ. පිටුවක් නැවත පූරණය කිරීමට විවිධ ක්‍රම නොමැත.
ජෝෂුවා බෙහෙරන්ස්

54
තවත් බොහෝ දේ ඇති බව සහතිකයි:window.window.window['window'].location = window['window'].window['window']['window']['window']['window']['window']['window']['location']
රෙනාටෝ

සබැඳිය මැරිලාද? වෙබ්ආරක්ෂක සබැඳියක් එක් කළ හැකිද?
beppe9000

91

ඔබට මෙම කාර්යය භාවිතා කළ හැකිය window.location.reload();. මෙය කිරීමට බොහෝ ක්‍රම ඇති නමුත් මම සිතන්නේ එකම ලේඛනය ජාවාස්ක්‍රිප්ට් සමඟ නැවත පූරණය කිරීම සුදුසු ක්‍රමය බවයි. මෙන්න පැහැදිලි කිරීම

ජාවාස්ක්‍රිප්ට් window.locationවස්තුව භාවිතා කළ හැකිය

  • වත්මන් පිටු ලිපිනය ලබා ගැනීමට (URL)
  • බ්‍රව්සරය වෙනත් පිටුවකට හරවා යැවීමට
  • එකම පිටුව නැවත පූරණය කිරීමට

window: JavaScript හි බ්‍රව්සරයක විවෘත කවුළුවක් නිරූපණය කරයි.

location: ජාවාස්ක්‍රිප්ට් හි වත්මන් URL පිළිබඳ තොරතුරු ඇත.

මෙම locationවස්තුව ක කැබැල්ලක් වගේ windowවස්තුව හා ඒ මගින් කැඳවා ඇත window.locationදේපල.

location වස්තුවට ක්‍රම තුනක් ඇත:

  1. assign(): නව ලේඛනයක් පූරණය කිරීමට භාවිතා කරයි
  2. reload(): වත්මන් ලේඛනය නැවත පූරණය කිරීමට භාවිතා කරයි
  3. replace(): වත්මන් ලේඛනය නව එකක් සමඟ ප්‍රතිස්ථාපනය කිරීමට භාවිතා කරයි

එබැවින් මෙහිදී අප භාවිතා කළ යුතුය reload(), මන්ද එය එකම ලේඛනය නැවත පූරණය කිරීමට උපකාරී වේ.

ඒ නිසා එය භාවිතා කරන්න window.location.reload();.

Jsfiddle හි මාර්ගගත නිරූපණය

හැඹිලියෙන් නොව සේවාදායකයෙන් පිටුව කෙලින්ම ලබා ගැනීමට ඔබගේ බ්‍රව්සරයෙන් ඉල්ලා සිටීමට, ඔබට trueපරාමිතියක් ලබා දිය location.reload()හැකිය. මෙම ක්‍රමය IE, Chrome, Firefox, Safari, Opera ඇතුළු සියලුම ප්‍රධාන බ්‍රව්සර් සමඟ අනුකූල වේ.


2
අහ් හහ්! replace()විමසුම් දාමයේ සුළු වෙනසක් සහිතව මගේ පිටුව නැවත පූරණය කිරීමට අවශ්‍ය වූ නිසා මා සොයන විසඳුම බවට පත්විය.
බර්නාඩ් හයිමන්

1
W3 පාසැල් වලින්: "පැවරීම () සහ ප්‍රතිස්ථාපනය () අතර ඇති වෙනස නම්, ප්‍රතිස්ථාපනය () ලේඛන ඉතිහාසයෙන් වත්මන් ලේඛනයේ URL ඉවත් කරයි, එයින් අදහස් වන්නේ" ආපසු "බොත්තම භාවිතා කර නැවත සැරිසැරීමට නොහැකි බවයි. මුල් ලේඛනය. ”
pasaba por aqui

60

උත්සාහ කරන්න:

window.location.reload(true);

'True' ලෙස සකසා ඇති පරාමිතිය සේවාදායකයෙන් නැවුම් පිටපතක් නැවත පූරණය කරයි. එය පිටවීම හැඹිලියෙන් පිටුවට සේවය කරයි.

වැඩි විස්තර MSDN සහ මොසිල්ලා ප්‍රලේඛනයෙන් සොයාගත හැකිය .


1
www.xyz.com/abc බාහිර වෙබ් පිටුවක් නැවුම් කිරීමට මට අවශ්‍ය නම් කුමක් කළ යුතුද?
DoIt

E දේව්: ඔබ පසුව සඳහන් කළ පරිදි "ප්‍රතිස්ථාපනය" සමඟ උත්සාහ කළ යුතුය
ජීන් පෝල් ඒකේඒ එල්_වෙට්

@ ඕරන්: මෙම පිළිතුරේ සරල බව සහ සම්පත්දායකත්වය යන දෙකටම මම විශේෂයෙන් කැමතියි, දෘෂ්ටි විතානයේ පරීක්ෂණය තෘප්තිමත් කිරීම සඳහා බොහෝ විකල්ප ලබා දීම සඳහා, මෙම තත්වය තුළ අධිකාරිය යොමු කරන ලද සබැඳියක් ලබා දීම ගැන ස්තූතියි, එක් එක් බ්‍රව්සරය ලෙස අනාගත යොමු කිරීම සඳහා. විදැහුම්කරණය සඳහා ඔවුන්ගේම JS එන්ජිමක් ඇත ... මම සිතන්නේ ප්‍රශ්නය ඉතා සාමාන්‍ය බවත් එය ඔබට අවශ්‍ය දේ මත රඳා පැවතිය යුතු බවත්ය. මන්ද වෙනත් වෙබ් යොමුව: " phpied.com/files/location-location/location- location.html "මෙම ප්‍රශ්නය සඳහා වන විකල්පය සම්පූර්ණයෙන්ම තෘප්තිමත් කළ හැකිය. කෙසේ වෙතත්, මෙය මට උදව් විය;)
ජීන් පෝල් AKA el_vete

2
මෙය තවමත් සත්‍යයක්ද? එම සබැඳි දෙකම නැවත පූරණය කිරීම සඳහා කිසිදු පරාමිතියක් සඳහන් නොකරයි.
රොඩිගර් ෂුල්ස්

56

method="post"පෝරමයක් ඉදිරිපත් කිරීමෙන් පසු වැනි POST ඉල්ලීම් සමඟ ලබාගත් පිටු නැවත පූරණය කිරීම පිළිබඳ තොරතුරු මම සොයමින් සිටියෙමි .

POST දත්ත තබා පිටුව නැවත පූරණය කිරීමට , භාවිතා කරන්න:

window.location.reload();

POST දත්ත ඉවතලමින් පිටුව නැවත පූරණය කිරීමට (GET ඉල්ලීමක් කරන්න), භාවිතා කරන්න:

window.location.href = window.location.href;

එකම තොරතුරු සොයන අනෙක් අයට මෙය උදව් වනු ඇතැයි අපේක්‍ෂා කරමු.


POSTඉල්ලීමක් සමඟ ලබාගත් ලේඛනයක් නැවත පූරණය කිරීම පිළිබඳ සඳහනක් ඇතුළුව පිළිතුරට ස්තූතියි .
ක්‍රිස්ටෝපර් ෂුල්ට්ස්

ක්‍රම GETසහ POSTක්‍රම අතර හොඳ වෙනසක්
හසන් බේග්

මෙම පිළිතුර බොහෝ දුරට අඩු විය!
ග්‍රෙග් රැන්ඩල්

2
window.location.href = window.location.hrefවත්මන් url හි a අඩංගු නම් පිටුව නැවත පූරණය නොවේ #. ඔබට හැෂ් අවශ්‍ය නොවන්නේ නම් එය ඉවත් කළ හැකිය window.location.href = window.location.href.split('#')[0];.
රෝලන්ඩ් ස්ටාර්ක්

43

ජාවාස්ක්‍රිප්ට් භාවිතයෙන් පිටුවක් නැවත පූරණය කිරීමට, භාවිතා කරන්න:

window.location.reload();

43

මෙය මට වැඩ කරයි:

function refresh() {    
    setTimeout(function () {
        location.reload()
    }, 100);
}

http://jsfiddle.net/umerqureshi/znruyzop/


සේවාදායක පැත්තේ ඇති ලූප තත්වයක් මග
හැරෙන

1
කල් ඉකුත්වීමේ කාර්යය ඇතුළත් කිරීම මම විශේෂයෙන් අගය කරමි, මන්ද යත්, නැවුම්බව සිදුවීමට පෙර මට බැලීමට අවශ්‍ය පණිවිඩයක් මා සතුව ඇති බැවිනි. කුඩෝස්!
මැට් ක්‍රිමීන්ස්

setTimeout ශ්‍රිතයට දෙවන තර්කයක් ලෙස ඔබට විවිධ අගයන් සැකසිය හැකි නමුත් එය ක්‍රියා නොකරනු ඇත, නැවත පූරණය කිරීම ක්ෂණිකව සිදුවනු ඇත, එය විසඳන්නේ කෙසේද?
ඕ.කුස්

2
@ ඕ.කුස් එසේ සිතන්නේ නැත. ඔබ අගය 5ms ලෙස සකසන්නේ නම් තත්පර 5 කට පසු නැවත පූරණය සිදුවනු ඇත. jsfiddle.net/umerqureshi/znruyzop/446
umer

15

ඔබ දැමුවහොත්

window.location.reload(true);

ඔබේ පිටුවේ ආරම්භයේ දී වෙනත් කිසිදු කොන්දේසියක් නොමැතිව එම කේතය ක්‍රියාත්මක වන්නේ ඇයිද යන්න සුදුසුකම් නොලබන විට, පිටුව පූරණය වන අතර ඔබ බ්‍රව්සරය වසා දමන තුරු එය නැවත පූරණය වේ.


හොඳයි, නැතහොත් ඔබ වෙනත් URL එකක් විවෘත කරන තුරු. එය බොහෝ විට රඳා පවතින්නේ අඛණ්ඩ පිටු (නැවත) පැටවීම් හැසිරවීමට බ්‍රව්සරයට ඇති හැකියාව මත ය.
adamdunson

එය නිවැරදිව සඳහන් කර ඇති පරිදි ඔබ එය තබන ස්ථානය මත රඳා පවතී. අප මෙහි සඳහන් කරන්නේ හුදෙක් පිටුව නැවත පූරණය කිරීම වැනි ක්‍රියාවක් සිදු කිරීම සඳහා නැංගුරම් ටැගය බුද්ධිමය අංගයක් නොවන බවයි. යෝජනාව: ඔන්ක්ලික් සිදුවීමක් කිරීමේ ඉලක්කය ලෙස අපි වෙනත් UI වස්තුවක් මත රඳා සිටිමු. ඩිවි එකක් ඉලක්ක කර පිටුව පූරණය කිරීමෙන් පසු ඔබට මෙය jQuery වලින් කළ හැකිය, උදාහරණයක් ලෙස ඔබ එය css වලින් සරසා ඇත්නම් .. එය ඔබට එය සමඟ කළ යුතු දේ මත රඳා පවතී. එම සන්දර්භය තුළ ආදාන වර්ගයේ බොත්තමක් වෙනුවට බොත්තමක්.අපේ තර්කය පසුපෙළ යෙදුමට යැවීමට අපි සැලසුම් නොකරන්නේ නම් එය වඩාත් යෝග්‍ය බව පෙනේ.
ජීන් පෝල් AKA el_vete

IE: <button onclick = "javascript: window.location.reload (true);"
ජීන් පෝල් AKA el_vete

11
location.href = location.href;

5
නවීන බ්‍රව්සර් මෙය නොසලකා හරිනුයේ href වෙනස් නොවන නිසා එය නැවත පූරණය කිරීමේ අවශ්‍යතාවයක් නොමැති බැවිනි. ඔබ මෙය නැවත පූරණය නොකර පැරණි බ්‍රව්සර් සඳහා අසමත් වීමක් ලෙස පමණක් භාවිතා කළ යුතුය: (location.reload? Location.reload (): location.href = location.href)
Radek Pech

AdRadekPech නැති පැරණි බ්‍රව්සර් location.reload()මොනවාද?
මතියස්

8

එය පහසු සහ සරල කිරීමට, භාවිතා කරන්න location.reload(). ඔබට location.reload(true)සේවාදායකයෙන් යමක් උදුරා ගැනීමට අවශ්‍ය නම් ඔබට භාවිතා කළ හැකිය .


8

බොත්තමක් භාවිතා කිරීම හෝ එය "අ" (නැංගුරම්) ටැගයක් තුළ තබන්න:

<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

1
සිත්ගන්නාසුළු ... කෙසේද <button> </button>? එකම වැඩ කරයි නේද?
ජීන් පෝල් AKA el_vete

1
එය චාම් එකක් මෙන් වැඩ කළා! මගේ පිළිතුර පහතින් බලන්න :) ස්තූතියි
ජීන් පෝල් AKA el_vete


6

තත්පර 20 කට පසු ස්වයංක්‍රීයව රීලෝඩ් පිටුව.

<script>
    window.onload = function() {
        setTimeout(function () {
            location.reload()
        }, 20000);
     };
</script>

5

වත්මන් ලේඛනය නැවත පූරණය කිරීම සඳහා රීලෝඩ් () ක්‍රමය භාවිතා කරයි.

රීලෝඩ් () ක්‍රමය ඔබගේ බ්‍රව්සරයේ රීලෝඩ් බොත්තමට සමාන වේ.

පෙරනිමියෙන්, රීලෝඩ් () ක්‍රමය හැඹිලියෙන් පිටුව නැවත පූරණය කරයි, නමුත් ෆෝර්ස්ජෙට් පරාමිතිය true: location.reload (true) ලෙස සැකසීමෙන් ඔබට සේවාදායකයෙන් පිටුව නැවත පූරණය කිරීමට බල කළ හැකිය.

        location.reload();

4

මෙය ක්‍රියාත්මක විය යුතුය:

window.location.href = window.location.href.split( '#' )[0];

හෝ

var x = window.location.href;
x = x.split( '#' );
window.location.href = x[0];

පහත සඳහන් හේතු නිසා මම මෙය වඩාත් කැමැත්තෙමි:

  • # ට පසුව කොටස ඉවත් කරයි, එහි ඇති අන්තර්ගතය නැවත පූරණය නොවන බ්‍රව්සර් මත පිටුව නැවත පූරණය වන බව සහතික කරයි.
  • ඔබ මෑතකදී පෝරමයක් ඉදිරිපත් කරන්නේ නම් අවසාන අන්තර්ගතය නැවත තැපැල් කිරීමට අවශ්‍ය දැයි එය ඔබෙන් අසන්නේ නැත.
  • එය බොහෝ මෑත බ්‍රව්සර්වල පවා ක්‍රියාත්මක විය යුතුය. කල් පවතින ෆයර්ෆොක්ස් සහ ක්‍රෝම් මත පරීක්ෂා කර ඇත.

විකල්පයක් ලෙස, ඔබට මෙම කාර්යය සඳහා නවතම නිල ක්‍රමය භාවිතා කළ හැකිය

window.location.reload()

4

පිටුව නැවුම් කිරීමට මෙම බොත්තම භාවිතා කරන්න

ඩෙමෝ

<input type="button" value="Reload Page" onClick="document.location.reload(true)">

4

ස්තූතියි, මෙම ලිපිය ඉතා ප්‍රයෝජනවත් විය, යෝජිත පිළිතුර සමඟ පිටුව නැවත පූරණය කිරීමට පමණක් නොව, බොත්තමකට 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>
    &nbsp;[<b>CARGAR NUEVAMENTE</b>]&nbsp;
</button>

ව්‍යාපෘතියකට ඇතුළත් කළ විට මෙය පෙනෙන්නේ කෙසේදැයි පෙන්වීමට සංස්කරණය කරන ලදි

2016-07-02

මෙය මගේ සමාව ඉල්ලීම jQuery UI, Themeroller, Icons frame, jQuery ටැබ් වැනි ක්‍රම භාවිතා කරන පුද්ගලික ව්‍යාපෘතියක් වන නමුත් එය ස්පා Spanish ් in භාෂාවෙන්;)


Et පීටර් මෝර්ටෙන්සන්: සංස්කරණයට ස්තූතියි, එම ව්‍යාපෘති මූලාකෘතිය විද්‍යාලය සඳහා සිදු කරන ලද්දකි, එබැවින් එය අනුයුක්ත කර ඇති තිර පිටපත් වල ස්පා Spanish ් in භාෂාවෙන් සිටිය යුතුය .. ඒ සඳහා මාගේ සමාව අයැද සිටියි. ඇත්ත වශයෙන්ම, jQuery UI ආශ්‍රිත හරයක් තිබිය යුතුය. ඒ වගේ එකට අනුගතවීම කිරීමට පරායත්තයන්: --- උදාහරණයක් ThemeRoller විජට් jqueryui.com/themeroller අතර, එම නිසා ඒවා ප්ලගින: plugins.jquery.com/qTip2 , datatables.net .. මේ jQuery පුස්තකාල ම, ආදිය .. නමුත් ඉහත සමහර ප්‍රතිචාර මත පදනම්ව ක්‍රියාව සිදු කරන ලදි: onclick = "javascript: window.location.reload (true);">!
ජීන් පෝල් AKA el_vete

-3

ඔබට සරලව භාවිතා කළ හැකිය

window.location=document.URL

එහිදී document.URL හට වත්මන් පිටු URL ලැබෙනු ඇති අතර window.location එය නැවත පූරණය කරයි.


2
නවීන බ්‍රව්සර් මෙය නොසලකා හරිනුයේ href වෙනස් නොවන නිසා එය නැවත පූරණය කිරීමේ අවශ්‍යතාවයක් නොමැති බැවිනි. ඔබ මෙය නැවත පූරණය නොකර පැරණි බ්‍රව්සර් සඳහා අසමත් වීමක් ලෙස පමණක් භාවිතා කළ යුතුය: (location.reload? Location.reload (): location = document.URL)
Radek Pech
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.