Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Χαίρεται.
 
Προσπαθω να φτιαξω ενα extension για τον Chrome, που θα κανει reload σε ολα τα ανοιχτα tabs μολις παταω το κουμπι του.
Βρηκα τον παραξατω κωδικα, ο οποιος δουλευει κανονικα:
 

chrome.browserAction.onClicked.addListener(function(tab) {reloadTabs();
});


function reloadTabs() {
chrome.tabs.getAllInWindow(null, function(tabs) {
for(var i = 0; i < tabs.length; i++) {
chrome.tabs.update(tabs[i].id, {url: tabs[i].url});
}
});
}

  
αλλα υπαρχει ενα προβλημα. ο Chrome θυμαται σε ποιο σημειο της σελιδας εισαι, οποτε οταν κανεις reload, σε ξαναπηγαινει στο ιδιο σημειο.
ομως θελω να πηγαινει στην αρχη της σελιδας, οταν γινεται το reload στο tab.
 
μετα απο ψαξιμο, βρηκα τον παρακατω κωδικα που λυνει το προβλημα. αν τον τρεξω πριν κανε reload το tab, η σελιδα θα πηγαινει στην αρχη της μετα το reload.
το δοκιμασα μεσω της awesome bar του Chrome, και δουλευει μια χαρα:

window.onbeforeunload = function () {
window.scrollTo(0, 0);
}

αυτο που θελω ειναι να μου δειξει καποιος πως συνδυαζω τους δυο παραπανω κωδικους, ωστε για καθε σελιδα να εκτελει πρωτα το onbeforeunload function και μετα το reload function, ωστε ολα τα tabs να γινουν reload αλλα οι σελιδες να βρισκονται στην αρχη τους.
οποιος μπορει να βοηθησει, θα ημουν ευγνωμων.  

 

Δημοσ.

Το window είναι global variable οπότε δεν έχει σημασία σε ποιο context είσαι:

Αρα το

window.scrollTo(0, 0);

αρκει να μπεί στο τέλος της reloadTabs()

Δημοσ.

στο τελος που; μετα απο εδω;

chrome.browserAction.onClicked.addListener(function(tab) {reloadTabs();

 

δεν πρεπει να μπει πρωτα, αφου θελει να εκτελειται πρωτα η variable και μετα το reload function?

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...