Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

IE workaround für getElementsByName

Frage Entwicklung Webentwicklung

Mitglied: Gushiken

Gushiken (Level 1) - Jetzt verbinden

08.10.2008, aktualisiert 13.10.2008, 4434 Aufrufe, 2 Kommentare

Unter dem IE funktioniert document.getElemetsByName() ja bekannterweise etwas anders als unter dem FF. Da ich das aber beim entwickeln meines aktuellen Projektes nicht wusste hab ich das leider nicht beachtet...

Da es zu aufwändig wäre jedem input eine ID zuzuordnen damit der IE sie auch findet, würde ich gern ein workaround schreiben mit dem der IE die Elemente auch mit dem namen finden kann. Workaurounds gibt es zwar und ich hab auch schon eins eingebaut, aber das ist etwas viel zu langsam da ich die Funktion ca 100 - 150x aufrufe...


Hier also erstmal das aktuelle Workaround:

getName(name,pos,tag)
{
if(!tag){
tag = '*';
}
var elems = document.getElementsByTagName(tag);
var res = []
for(var i=0;i<elems.length;i++){
att = elems[i].getAttribute('name');
if(att == name) {
res.push(elems[i]);
}
}
return res[pos];
}

Ich brauche immer nur ein Element also übergebe ich die POS in dem Array und gebe dann genau dieses Element zurück.

Hat vllt irgendeiner von euch eine schnellere Lösung?? In den meisten Fällen ist der Name sogar eindeutig, vielleicht kann man dadurch noch etwas rumtricksen...

Gruß,
Gushiken
Mitglied: Gushiken
08.10.2008 um 13:27 Uhr
okay, ich bin schonmal einen Schritt weiter... und konnte die Ladezeit des Aufrufs meines Formulars von ca30s (!!!) auf ca 14s reduzieren indem ich aus der for()-Schleife rausspringe sobald ich ein Element mit dem Namen gefunden habe, funktioniert soweit ganz gut.
Allerdings sind diese 14s immernoch viel zu lang... 10s weniger und ich kann damit leben, aber 14s sind untragbar...

naja... vielleicht fällt euch ja noch was ein wie ich die Elemente anders ansprechen kann...

Gruß, Gushiken
Bitte warten ..
Mitglied: Gushiken
13.10.2008 um 10:27 Uhr
okay, ich hab da noch eine andere Möglichkeit gefunden die Elemente anzusprechen. Das ganze funktioniert im IE7 ganz gut, allerdings nicht mit allen Elementen... Warum kann ich nicht sagen.

Man kann viele Element im IE einfach über document.all['name'] oder document.all.name ansprechen. Ist ein Element dort vorhanden ist es wesentlöich schneller es so aufzurufen.
Bitte warten ..
Ähnliche Inhalte
Windows 10
gelöst Applocker-Bug in Win10-1703 - Workaround gesucht (11)

Frage von DerWoWusste zum Thema Windows 10 ...

Webbrowser
Firefox 52 und Java (Workaround) (12)

Tipp von ChriBo zum Thema Webbrowser ...

Windows 10
gelöst Lokale Datei über IE öffnen, weisser leerer Tab öffnet sich (4)

Frage von Olfryygt zum Thema Windows 10 ...

Neue Wissensbeiträge
Batch & Shell

Batch - ein paar Basics die man kennen sollte

Tipp von Pedant zum Thema Batch & Shell ...

Microsoft

Restrictor: Profi-Schutz für jedes Window

(6)

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft Office
Saubere HTML aus Word-Dokument (16)

Frage von peterpa zum Thema Microsoft Office ...

Router & Routing
ASUS RT-N18U mit VPN Client hinter Fritzbox - Portforwarding (15)

Frage von marshall75000 zum Thema Router & Routing ...

Hosting & Housing
gelöst Webserver bei WIX, aber DNS Server wo anders (9)

Frage von laster zum Thema Hosting & Housing ...

Debian
gelöst Plesk php-fpm Fehler (7)

Frage von sebastian2608 zum Thema Debian ...