WebBrowser/Tools/Scripts.py

changeset 6174
bb2989d750ce
parent 6149
e611e45a17d6
child 6645
ad476851d7e0
equal deleted inserted replaced
6173:cb1488b062a9 6174:bb2989d750ce
93 @return generated script 93 @return generated script
94 @rtype str 94 @rtype str
95 """ 95 """
96 source = """ 96 source = """
97 (function() { 97 (function() {
98 var external = {}; 98 var external = {};
99 99 external.AddSearchProvider = function(url) {
100 window.external = external; 100 window.location = 'eric:AddSearchProvider?url=' + url;
101 101 };
102 window.print = function() { 102 external.IsSearchProviderInstalled = function(url) {
103 window.location = 'eric:PrintPage'; 103 console.warn('NOT IMPLEMENTED: IsSearchProviderInstalled()');
104 }; 104 return false;
105 };
106 window.external = external;
107 window.print = function() {
108 window.location = 'eric:PrintPage';
109 };
105 })()""" 110 })()"""
106 111
107 return source 112 return source
108 113
109 114
138 @rtype str 143 @rtype str
139 """ 144 """
140 source = """ 145 source = """
141 (function() {{ 146 (function() {{
142 var e = document.elementFromPoint({0}, {1}); 147 var e = document.elementFromPoint({0}, {1});
143 if (!e || e.tagName != 'INPUT') 148 if (!e || e.tagName.toLowerCase() != 'input')
144 return; 149 return;
145 var fe = e.parentElement; 150 var fe = e.parentElement;
146 while (fe) {{ 151 while (fe) {{
147 if (fe.tagName == 'FORM') 152 if (fe.tagName.toLowerCase() != 'form')
148 break; 153 break;
149 fe = fe.parentElement; 154 fe = fe.parentElement;
150 }} 155 }}
151 if (!fe) 156 if (!fe)
152 return; 157 return;
334 339
335 for (var i = 0; i < document.forms.length; ++i) 340 for (var i = 0; i < document.forms.length; ++i)
336 registerForm(document.forms[i]); 341 registerForm(document.forms[i]);
337 342
338 var observer = new MutationObserver(function(mutations) { 343 var observer = new MutationObserver(function(mutations) {
339 for (var i = 0; i < mutations.length; ++i) 344 for (var mutation of mutations)
340 for (var j = 0; j < mutations[i].addedNodes.length; ++j) 345 for (var node of mutation.addedNodes)
341 if (mutations[i].addedNodes[j].tagName == 'FORM') 346 if (node.tagName && node.tagName.toLowerCase() == 'form')
342 registerForm(mutations[i].addedNodes[j]); 347 registerForm(node);
343 }); 348 });
344 observer.observe(document.documentElement, { 349 observer.observe(document.documentElement, {
345 childList: true, subtree: true 350 childList: true, subtree: true
346 }); 351 });
347 352
373 var input = inputs[j]; 378 var input = inputs[j];
374 var type = input.type.toLowerCase(); 379 var type = input.type.toLowerCase();
375 if (type != 'text' && type != 'password' && 380 if (type != 'text' && type != 'password' &&
376 type != 'email') 381 type != 'email')
377 continue; 382 continue;
378 if (input.name == key) 383 if (input.name == key) {{
379 input.value = val; 384 input.value = val;
385 input.dispatchEvent(new Event('change'));
386 }}
380 }} 387 }}
381 }} 388 }}
382 389
383 }})()""" 390 }})()"""
384 391

eric ide

mercurial