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, 4411 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 ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Windows Server
gelöst Deaktivieren IE Meldung geschützter Modus (4)

Frage von nano1994 zum Thema Windows Server ...

Verschlüsselung & Zertifikate
gelöst IE Zertifikatsfrage (8)

Frage von franksig zum Thema Verschlüsselung & Zertifikate ...

Windows 7
gelöst IE 11 Downloadüberprüfung dauert manchmal mehrere Minuten (8)

Frage von Mad-Eye zum Thema Windows 7 ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...