mirror of
https://github.com/caiwx86/small-packages.git
synced 2026-07-28 09:22:05 +08:00
79 lines
2.0 KiB
HTML
79 lines
2.0 KiB
HTML
<script type="text/javascript">
|
|
//<![CDATA[
|
|
(function() {
|
|
function getField(name) {
|
|
return document.querySelector('select[name$=".' + name + '"], input[name$=".' + name + '"]');
|
|
}
|
|
|
|
function ensureDefaultValue(modeValue, fieldName) {
|
|
var modeEl = getField('pdnsd_enable');
|
|
var dnsEl = getField(fieldName);
|
|
if (!modeEl || !dnsEl || modeEl.value !== modeValue) {
|
|
return;
|
|
}
|
|
|
|
var current = (dnsEl.value || '').trim();
|
|
var placeholder = (dnsEl.options && dnsEl.selectedIndex >= 0 && dnsEl.options[dnsEl.selectedIndex])
|
|
? (dnsEl.options[dnsEl.selectedIndex].text || '').trim()
|
|
: '';
|
|
if (current !== '' && current !== '-- 请选择 --' && current !== '-- Please choose --' &&
|
|
placeholder !== '-- 请选择 --' && placeholder !== '-- Please choose --') {
|
|
return;
|
|
}
|
|
|
|
if (dnsEl.tagName === 'SELECT') {
|
|
var firstValue = '';
|
|
for (var i = 0; i < dnsEl.options.length; i++) {
|
|
var option = dnsEl.options[i];
|
|
if (option && option.value) {
|
|
firstValue = option.value;
|
|
break;
|
|
}
|
|
}
|
|
if (firstValue) {
|
|
dnsEl.value = firstValue;
|
|
}
|
|
} else if (dnsEl.dataset && dnsEl.dataset.default) {
|
|
dnsEl.value = dnsEl.dataset.default;
|
|
}
|
|
}
|
|
|
|
function ensureMosdnsDefault() {
|
|
ensureDefaultValue('4', 'tunnel_forward_mosdns');
|
|
}
|
|
|
|
function ensureChinaDnsNgDefault() {
|
|
ensureDefaultValue('6', 'chinadns_ng_tunnel_forward');
|
|
}
|
|
|
|
function bindModeChange() {
|
|
var modeEl = getField('pdnsd_enable');
|
|
if (!modeEl || modeEl.dataset.ssrDnsDefaultBound) {
|
|
return;
|
|
}
|
|
|
|
modeEl.dataset.ssrDnsDefaultBound = '1';
|
|
modeEl.addEventListener('change', function() {
|
|
window.setTimeout(function() {
|
|
ensureMosdnsDefault();
|
|
ensureChinaDnsNgDefault();
|
|
}, 0);
|
|
});
|
|
}
|
|
|
|
function initMosdnsDefault() {
|
|
bindModeChange();
|
|
ensureMosdnsDefault();
|
|
ensureChinaDnsNgDefault();
|
|
}
|
|
|
|
if (document.readyState === 'loading') {
|
|
document.addEventListener('DOMContentLoaded', initMosdnsDefault);
|
|
window.addEventListener('load', initMosdnsDefault);
|
|
} else {
|
|
initMosdnsDefault();
|
|
}
|
|
})();
|
|
//]]>
|
|
</script>
|