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, 4448 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
Webbrowser
Firefox 52 und Java (Workaround) (12)

Tipp von ChriBo zum Thema Webbrowser ...

Monitoring
Nagios CheckMK Hostmonitoring hinter NAT - Workarounds (1)

Frage von istike2 zum Thema Monitoring ...

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

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

Windows 10
gelöst Applocker-Bug in Win10-1703 - Workaround gesucht (12)

Frage von DerWoWusste zum Thema Windows 10 ...

Neue Wissensbeiträge
Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Microsoft Office
Office Druck fehler (18)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Netzwerkmanagement
Windows Server 2008 R2: "netsh reset" nicht verfügbar? (11)

Frage von RickTucker zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
Uninitialisierte Festplatte - Daten retten (11)

Frage von peterla zum Thema Festplatten, SSD, Raid ...

Microsoft Office
Outlook 2016 in Ordneransicht starten - GPO (9)

Frage von D-Line zum Thema Microsoft Office ...