re-implement mdict lookup support

This commit is contained in:
James Feng Cao 2022-09-11 19:44:16 +08:00
parent c033aee378
commit 936181547e
1 changed files with 31 additions and 14 deletions

View File

@ -74,30 +74,47 @@
</section>
<script>
//?file=./xxx/xx.xx,./xx/xx.xxx#word=
//?file=.../xx.xx,.../xx.xxx#word=
var dictinput = document.getElementById('dictfile');
var wordinput = document.getElementById('word');
var btnLookup = document.getElementById('btnLookup');
window.onload = function() {
window.onhashchange = function() {
let v = location.hash.substring(6);
if(v.length>0){
wordinput.value = v;
//wordinput.dispatchEvent(new Event('change', {'bubbles': true}));
btnLookup.click();
}
};
{
let v = location.hash.substring(6);
wordinput.value = v;
}
{
let filenames = location.search.substring(6);
window.onload = function(){
if(filenames.length>0){
dictinput.setAttribute('accept',filenames);
location.href="i:5fdictinput.click()";
setTimeout(()=>{dictinput.dispatchEvent(new Event('change'));dictinput.removeAttribute('accept')},500);
let clickurl = "i:5fdictinput.click():"+filenames;
location.href=clickurl;
//setTimeout(()=>{dictinput.dispatchEvent(new Event('change', {'bubbles': true}));},100);
var callbackTimer = setInterval(function() {
let files = dictinput.files;
if(files.length>0){
if(!btnLookup.disabled){
clearInterval(callbackTimer);
return;
}
}else
location.href=clickurl;
dictinput.dispatchEvent(new Event('change', {'bubbles': true}));
}, 100);
}
window.onhashchange = function() {
let v = location.hash.substring(6);
if(v.length>0){
wordinput.value = v;
//wordinput.dispatchEvent(new Event('change', {'bubbles': true}));
btnLookup.click();
}
};
}
</script>
</body>