Sehr neu zu Javascript, so arbeitet an meinem ersten Projekt. Wenn Sie versuchen, ein Skript auszuführen, das Listennummern sammelt, öffnet es sie in einer URL und klickt auf ein Element auf der geladenen Seite. Ich kann .click() nicht erhalten, um auf der resultierenden geladenen Seite zu laufen.Führen Sie Javascript-Funktion auf geladener Seite
Ich habe versucht, die logIn-Funktion nur ausführen, sobald die resultierende Seite geladen hat, aber es scheint nicht den Trick zu tun. AM Ich vermisse etwas Grundlegendes?
var listingNum = prompt("Listing numbers").split(" ");
logIn = function(){
if(document.readyState === "complete"){
document.getElementById('SignInAsMemberLinkHeader').click();
}
};
for(i = 0; i < listingNum.length; i++){
window.open("http://www.website.com" + listingNum[i],"_self");
setInterval(logIn(), 4000);
};
Sie können ein Skript auf einer anderen Website laufen (oder ein Skript auf eigene Faust haben, die mit ihm interagiert), wenn Sie (illegal?) Eine Sicherheitslücke ausnutzen auf ihrer Website. Das nennt man XSS (Cross-Site-Scripting). – Paulpro
Was soll die URL mit listingNum machen? Es gibt kein/# -Zeichen dort, also wird das listingNum [i] einfach direkt an das Ende des COM-Teils der URL angehängt. Ist das richtig? Sieht seltsam aus. Zusätzlich zu den möglichen Cross Site Scripting-Einschränkungen öffnen Sie auch mehrere Fenster, mit denen Sie nichts anfangen, außer dass Sie versuchen, logIn() im CURRENT-Fenster nach 4 Sekunden aufzurufen. Das führt Sie von der Seite weg, bevor die anderen Fenster geöffnet werden können. Sie könnten das zurückgegebene Fenster-Handle möglicherweise von window.open z. 'var handle = window.open (url, etc);' – ManoDestra
Entschuldigung, ich habe ein/am Ende der URL verpasst, die ich herausgenommen habe, als ich die URL zum Posten hier bearbeitet habe. Es ist Teil eines kleinen Arbeitsprojekts, also notwendig, um die Seite für mich zu behalten. – RHPR