WebBrowser/Tools/WebHitTestResult.py

changeset 6886
a5b3e5310b56
parent 6692
c104c120e043
diff -r c8c36239c540 -r a5b3e5310b56 WebBrowser/Tools/WebHitTestResult.py
--- a/WebBrowser/Tools/WebHitTestResult.py	Tue Mar 19 19:54:17 2019 +0100
+++ b/WebBrowser/Tools/WebHitTestResult.py	Wed Mar 20 19:22:38 2019 +0100
@@ -69,6 +69,9 @@
                         return false;
                     return window.getSelection().containsNode(e, true);
                 }}
+                function attributeStr(e, a) {{
+                    return e.getAttribute(a) || '';
+                }}
                 var res = {{
                     baseUrl: document.baseURI,
                     alternateText: e.getAttribute('alt'),
@@ -86,16 +89,16 @@
                 var r = e.getBoundingClientRect();
                 res.boundingRect = [r.top, r.left, r.width, r.height];
                 if (e.tagName.toLowerCase() == 'img')
-                    res.imageUrl = e.getAttribute('src').trim();
+                    res.imageUrl = attributeStr(e, 'src').trim();
                 if (e.tagName.toLowerCase() == 'a') {{
                     res.linkTitle = e.text;
-                    res.linkUrl = e.getAttribute('href').trim();
+                    res.linkUrl = attributeStr(e, 'href').trim();
                 }}
                 while (e) {{
                     if (res.linkTitle == '' && e.tagName.toLowerCase() == 'a')
                         res.linkTitle = e.text;
                     if (res.linkUrl == '' && e.tagName.toLowerCase() == 'a')
-                        res.linkUrl = e.getAttribute('href').trim();
+                        res.linkUrl = attributeStr(e, 'href').trim();
                     if (res.mediaUrl == '' && isMediaElement(e)) {{
                         res.mediaUrl = e.currentSrc;
                         res.mediaPaused = e.paused;

eric ide

mercurial