mirror of https://github.com/gorhill/uBlock.git
parent
be082cb666
commit
0bf088cd1e
|
@ -67,6 +67,86 @@
|
||||||
"message":"Go to request log",
|
"message":"Go to request log",
|
||||||
"description":"English: Go to request log"
|
"description":"English: Go to request log"
|
||||||
},
|
},
|
||||||
|
"popupSiteInlineScriptEnabled":{
|
||||||
|
"message":"Inline <code>script</code> tags are <b>enabled</b> for this site",
|
||||||
|
"description":""
|
||||||
|
},
|
||||||
|
"popupSiteInlineScriptDisabled":{
|
||||||
|
"message":"Inline <code>script</code> tags are <b>disabled</b> for this site",
|
||||||
|
"description":""
|
||||||
|
},
|
||||||
|
"popupSite1pScriptEnabled":{
|
||||||
|
"message":"1st-party scripts are <b>enabled</b> for this site",
|
||||||
|
"description":""
|
||||||
|
},
|
||||||
|
"popupSite1pScriptDisabled":{
|
||||||
|
"message":"1st-party scripts are <b>disabled</b> for this site",
|
||||||
|
"description":""
|
||||||
|
},
|
||||||
|
"popupSite3pScriptEnabled":{
|
||||||
|
"message":"3rd-party scripts are <b>enabled</b> for this site",
|
||||||
|
"description":""
|
||||||
|
},
|
||||||
|
"popupSite3pScriptDisabled":{
|
||||||
|
"message":"3rd-party scripts are <b>disabled</b> for this site",
|
||||||
|
"description":""
|
||||||
|
},
|
||||||
|
"popupSite1pFrameEnabled":{
|
||||||
|
"message":"1st-party frames are <b>enabled</b> for this site",
|
||||||
|
"description":""
|
||||||
|
},
|
||||||
|
"popupSite1pFrameDisabled":{
|
||||||
|
"message":"1st-party frames are <b>disabled</b> for this site",
|
||||||
|
"description":""
|
||||||
|
},
|
||||||
|
"popupSite3pFrameEnabled":{
|
||||||
|
"message":"3rd-party frames are <b>enabled</b> for this site",
|
||||||
|
"description":""
|
||||||
|
},
|
||||||
|
"popupSite3pFrameDisabled":{
|
||||||
|
"message":"3rd-party frames are <b>disabled</b> for this site",
|
||||||
|
"description":""
|
||||||
|
},
|
||||||
|
"popupDefaultInlineScriptEnabled":{
|
||||||
|
"message":"Inline <code>script</code> tags are <b>enabled</b> everywhere by default",
|
||||||
|
"description":""
|
||||||
|
},
|
||||||
|
"popupDefaultInlineScriptDisabled":{
|
||||||
|
"message":"Inline <code>script</code> tags are <b>disabled</b> everywhere by default",
|
||||||
|
"description":""
|
||||||
|
},
|
||||||
|
"popupDefault1pScriptEnabled":{
|
||||||
|
"message":"1st-party scripts are <b>enabled</b> everywhere by default",
|
||||||
|
"description":""
|
||||||
|
},
|
||||||
|
"popupDefault1pScriptDisabled":{
|
||||||
|
"message":"1st-party scripts are <b>disabled</b> everywhere by default",
|
||||||
|
"description":""
|
||||||
|
},
|
||||||
|
"popupDefault3pScriptEnabled":{
|
||||||
|
"message":"3rd-party scripts are <b>enabled</b> everywhere by default",
|
||||||
|
"description":""
|
||||||
|
},
|
||||||
|
"popupDefault3pScriptDisabled":{
|
||||||
|
"message":"3rd-party scripts are <b>disabled</b> everywhere by default",
|
||||||
|
"description":""
|
||||||
|
},
|
||||||
|
"popupDefault1pFrameEnabled":{
|
||||||
|
"message":"1st-party frames are <b>enabled</b> everywhere by default",
|
||||||
|
"description":""
|
||||||
|
},
|
||||||
|
"popupDefault1pFrameDisabled":{
|
||||||
|
"message":"1st-party frames are <b>disabled</b> everywhere by default",
|
||||||
|
"description":""
|
||||||
|
},
|
||||||
|
"popupDefault3pFrameEnabled":{
|
||||||
|
"message":"3rd-party frames are <b>enabled</b> everywhere by default",
|
||||||
|
"description":""
|
||||||
|
},
|
||||||
|
"popupDefault3pFrameDisabled":{
|
||||||
|
"message":"3rd-party frames are <b>disabled</b> everywhere by default",
|
||||||
|
"description":""
|
||||||
|
},
|
||||||
"pickerCreate":{
|
"pickerCreate":{
|
||||||
"message":"Create",
|
"message":"Create",
|
||||||
"description":"English: Create"
|
"description":"English: Create"
|
||||||
|
@ -108,7 +188,7 @@
|
||||||
"description":"English: Make use of context menu where appropriate"
|
"description":"English: Make use of context menu where appropriate"
|
||||||
},
|
},
|
||||||
"settingsExperimentalPrompt":{
|
"settingsExperimentalPrompt":{
|
||||||
"message":"Enable experimental features",
|
"message":"Enable experimental features (<a href='https://github.com/gorhill/uBlock/wiki/Experimental-features'>About</a>)",
|
||||||
"description":"English: Enable experimental features"
|
"description":"English: Enable experimental features"
|
||||||
},
|
},
|
||||||
"3pListsOfBlockedHostsPrompt":{
|
"3pListsOfBlockedHostsPrompt":{
|
||||||
|
@ -180,8 +260,8 @@
|
||||||
"description":"English: One URL per line. Lines prefixed with ‘!’ will be ignored. Invalid URLs will be silently ignored."
|
"description":"English: One URL per line. Lines prefixed with ‘!’ will be ignored. Invalid URLs will be silently ignored."
|
||||||
},
|
},
|
||||||
"3pExternalListsApply":{
|
"3pExternalListsApply":{
|
||||||
"message":"Apply",
|
"message":"Parse",
|
||||||
"description":"English: Apply"
|
"description":"English: Parse"
|
||||||
},
|
},
|
||||||
"3pExternalListPurge":{
|
"3pExternalListPurge":{
|
||||||
"message":"purge cache",
|
"message":"purge cache",
|
||||||
|
@ -207,6 +287,10 @@
|
||||||
"message":"Export",
|
"message":"Export",
|
||||||
"description":"English: Export"
|
"description":"English: Export"
|
||||||
},
|
},
|
||||||
|
"1pExportFilename" : {
|
||||||
|
"message": "ublock-custom-filters_{{datetime}}.txt",
|
||||||
|
"description": "English: ublock-custom-filters_{{datetime}}.txt"
|
||||||
|
},
|
||||||
"1pApplyChanges":{
|
"1pApplyChanges":{
|
||||||
"message":"Apply changes",
|
"message":"Apply changes",
|
||||||
"description":"English: Apply changes"
|
"description":"English: Apply changes"
|
||||||
|
@ -223,6 +307,10 @@
|
||||||
"message":"Export",
|
"message":"Export",
|
||||||
"description":"English: Export"
|
"description":"English: Export"
|
||||||
},
|
},
|
||||||
|
"whitelistExportFilename" : {
|
||||||
|
"message": "ublock-whitelist_{{datetime}}.txt",
|
||||||
|
"description": "English: ublock-whitelist_{{datetime}}.txt"
|
||||||
|
},
|
||||||
"whitelistApply":{
|
"whitelistApply":{
|
||||||
"message":"Apply changes",
|
"message":"Apply changes",
|
||||||
"description":"English: Apply changes"
|
"description":"English: Apply changes"
|
||||||
|
@ -271,6 +359,10 @@
|
||||||
"message":"Change log",
|
"message":"Change log",
|
||||||
"description":"English: Change log"
|
"description":"English: Change log"
|
||||||
},
|
},
|
||||||
|
"aboutWiki":{
|
||||||
|
"message":"Wiki",
|
||||||
|
"description":"English: project' wiki on Github"
|
||||||
|
},
|
||||||
"aboutCode":{
|
"aboutCode":{
|
||||||
"message":"Source code (GPLv3)",
|
"message":"Source code (GPLv3)",
|
||||||
"description":"English: Source code (GPLv3)"
|
"description":"English: Source code (GPLv3)"
|
||||||
|
@ -280,24 +372,32 @@
|
||||||
"description":"English: Contributors"
|
"description":"English: Contributors"
|
||||||
},
|
},
|
||||||
"aboutBackupDataButton" : {
|
"aboutBackupDataButton" : {
|
||||||
"message": "Backup to file...",
|
"message": "Backup to file",
|
||||||
"description": "English: Backup to file..."
|
"description": "English: Backup to file"
|
||||||
|
},
|
||||||
|
"aboutBackupFilename" : {
|
||||||
|
"message": "ublock-backup_{{datetime}}.txt",
|
||||||
|
"description": "English: ublock-backup_{{datetime}}.txt"
|
||||||
},
|
},
|
||||||
"aboutRestoreDataButton" : {
|
"aboutRestoreDataButton" : {
|
||||||
"message": "Restore from file...",
|
"message": "Restore from file...",
|
||||||
"description": "English: Restore from file..."
|
"description": "English: Restore from file..."
|
||||||
},
|
},
|
||||||
"aboutResetDataButton" : {
|
"aboutResetDataButton" : {
|
||||||
"message": "Start from scratch...",
|
"message": "Reset to default settings...",
|
||||||
"description": "English: Start from scratch..."
|
"description": "English: Reset to default settings..."
|
||||||
},
|
},
|
||||||
"aboutRestoreDataConfirm" : {
|
"aboutRestoreDataConfirm" : {
|
||||||
"message": "All your settings will be overwritten using data backed up on {{time}}, and µBlock will restart.\n\nOverwrite all existing settings using backed up data?",
|
"message": "All your settings will be overwritten using data backed up on {{time}}, and µBlock will restart.\n\nOverwrite all existing settings using backed up data?",
|
||||||
"description": "Message asking user to confirm restore"
|
"description": "Message asking user to confirm restore"
|
||||||
},
|
},
|
||||||
|
"aboutRestoreDataError" : {
|
||||||
|
"message": "The data could not be read or is invalid",
|
||||||
|
"description": "Message to display when an error occurred during restore"
|
||||||
|
},
|
||||||
"aboutResetDataConfirm" : {
|
"aboutResetDataConfirm" : {
|
||||||
"message": "All your settings will be erased, and µBlock will restart.\n\nReset µBlock to factory settings?",
|
"message": "All your settings will be removed, and µBlock will restart.\n\nReset µBlock to factory settings?",
|
||||||
"description": "Message asking user to confirm restore"
|
"description": "Message asking user to confirm reset"
|
||||||
},
|
},
|
||||||
"errorCantConnectTo":{
|
"errorCantConnectTo":{
|
||||||
"message":"Unable to connect to {{url}}",
|
"message":"Unable to connect to {{url}}",
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
<h2 id="aboutNameVer"></h2>
|
<h2 id="aboutNameVer"></h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="https://github.com/gorhill/uBlock/releases" data-i18n="aboutChangelog"></a>
|
<li><a href="https://github.com/gorhill/uBlock/releases" data-i18n="aboutChangelog"></a>
|
||||||
|
<li><a href="https://github.com/gorhill/uBlock/wiki" data-i18n="aboutWiki"></a>
|
||||||
<li><a href="https://github.com/gorhill/uBlock" data-i18n="aboutCode"></a>
|
<li><a href="https://github.com/gorhill/uBlock" data-i18n="aboutCode"></a>
|
||||||
<li><span data-i18n="aboutContributors"></span>
|
<li><span data-i18n="aboutContributors"></span>
|
||||||
<ul>
|
<ul>
|
||||||
|
|
|
@ -79,6 +79,30 @@ p {
|
||||||
color: #444;
|
color: #444;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.dynamicFiltering div > .tip {
|
||||||
|
background-color: #fffff4;
|
||||||
|
border: 1px solid #888;
|
||||||
|
border-radius: 7px;
|
||||||
|
bottom: 20vh;
|
||||||
|
box-shadow: 1px 1px 2px 0 rgba(0,0,0,0.8);
|
||||||
|
display: none;
|
||||||
|
font-size: small;
|
||||||
|
left: 8vw;
|
||||||
|
padding: 0.25em;
|
||||||
|
position: fixed;
|
||||||
|
right: 8vw;
|
||||||
|
}
|
||||||
|
.dynamicFiltering div:not(.blocked):hover > .tip:nth-of-type(1) {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.dynamicFiltering div.blocked:hover > .tip:nth-of-type(2) {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.dynamicFiltering div > .tip code {
|
||||||
|
background-color: #eee;
|
||||||
|
font: normal monospace;
|
||||||
|
padding: 1px 0;
|
||||||
|
}
|
||||||
#dynamicFilteringToggler {
|
#dynamicFilteringToggler {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
|
|
|
@ -105,9 +105,12 @@ var exportUserFiltersToFile = function() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var now = new Date();
|
var now = new Date();
|
||||||
|
var filename = vAPI.i18n('1pExportFilename')
|
||||||
|
.replace('{{datetime}}', now.toLocaleString())
|
||||||
|
.replace(/ +/g, '_');
|
||||||
vAPI.download({
|
vAPI.download({
|
||||||
'url': 'data:text/plain;charset=utf-8,' + encodeURIComponent(val),
|
'url': 'data:text/plain;charset=utf-8,' + encodeURIComponent(val),
|
||||||
'filename': 'ublock-filters_' + now.toLocaleString().replace(/ +/g, '_') + '.txt'
|
'filename': filename
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -39,9 +39,12 @@ var exportToFile = function() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var now = new Date();
|
var now = new Date();
|
||||||
|
var filename = vAPI.i18n('aboutBackupFilename')
|
||||||
|
.replace('{{datetime}}', now.toLocaleString())
|
||||||
|
.replace(/ +/g, '_');
|
||||||
vAPI.download({
|
vAPI.download({
|
||||||
'url': 'data:text/plain;charset=utf-8,' + encodeURIComponent(JSON.stringify(userData)),
|
'url': 'data:text/plain;charset=utf-8,' + encodeURIComponent(JSON.stringify(userData, null, ' ')),
|
||||||
'filename': 'ublock-backup_' + now.toLocaleString().replace(/ +/g, '_') + '.txt'
|
'filename': filename
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -55,10 +58,24 @@ var handleImportFilePicker = function() {
|
||||||
var userData;
|
var userData;
|
||||||
try {
|
try {
|
||||||
userData = JSON.parse(this.result);
|
userData = JSON.parse(this.result);
|
||||||
|
if ( typeof userData !== 'object' ) {
|
||||||
|
throw 'Invalid';
|
||||||
|
}
|
||||||
|
if ( typeof userData.userSettings !== 'object' ) {
|
||||||
|
throw 'Invalid';
|
||||||
|
}
|
||||||
|
if ( typeof userData.netWhitelist !== 'string' ) {
|
||||||
|
throw 'Invalid';
|
||||||
|
}
|
||||||
|
if ( typeof userData.filterLists !== 'object' ) {
|
||||||
|
throw 'Invalid';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch (e) {
|
catch (e) {
|
||||||
|
userData = undefined;
|
||||||
}
|
}
|
||||||
if ( userData === undefined ) {
|
if ( userData === undefined ) {
|
||||||
|
window.alert(vAPI.i18n('aboutRestoreDataError'));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var time = new Date(userData.timeStamp);
|
var time = new Date(userData.timeStamp);
|
||||||
|
|
|
@ -99,9 +99,12 @@ var exportWhitelistToFile = function() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var now = new Date();
|
var now = new Date();
|
||||||
|
var filename = vAPI.i18n('whitelistExportFilename')
|
||||||
|
.replace('{{datetime}}', now.toLocaleString())
|
||||||
|
.replace(/ +/g, '_');
|
||||||
vAPI.download({
|
vAPI.download({
|
||||||
'url': 'data:text/plain;charset=utf-8,' + encodeURIComponent(val),
|
'url': 'data:text/plain;charset=utf-8,' + encodeURIComponent(val),
|
||||||
'filename': 'ublock-whitelist_' + now.toLocaleString().replace(/ +/g, '_') + '.txt'
|
'filename': filename
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -11,18 +11,18 @@
|
||||||
<body>
|
<body>
|
||||||
<h4 title="popupTipDashboard">v<span id="version"></span></h4>
|
<h4 title="popupTipDashboard">v<span id="version"></span></h4>
|
||||||
<div>
|
<div>
|
||||||
<p id="switch" data-i18n-tip="popupPowerSwitchInfo"><span class="fa"></span></p>
|
<p id="switch" data-i18n-tip="popupPowerSwitchInfo"><span class="fa"></span></p>
|
||||||
<p id="switch-hint"></p>
|
<p id="switch-hint"></p>
|
||||||
<p style="font-size: 16px;" data-i18n="popupBlockedRequestPrompt"></p>
|
<p style="font-size: 16px;" data-i18n="popupBlockedRequestPrompt"></p>
|
||||||
<p id="stats">
|
<p id="stats">
|
||||||
<span data-i18n="popupBlockedOnThisPagePrompt"></span> 
|
<span data-i18n="popupBlockedOnThisPagePrompt"></span> 
|
||||||
<span id="gotoPick" class="fa tool" data-i18n-tip="popupTipPicker" data-tip-anchor="top"></span> 
|
<span id="gotoPick" class="fa tool" data-i18n-tip="popupTipPicker" data-tip-anchor="top"></span> 
|
||||||
<span id="gotoLog" class="fa tool" data-i18n-tip="popupTipLog" data-tip-anchor="top"></span>
|
<span id="gotoLog" class="fa tool" data-i18n-tip="popupTipLog" data-tip-anchor="top"></span>
|
||||||
</p>
|
</p>
|
||||||
<p id="page-blocked">?</p>
|
<p id="page-blocked">?</p>
|
||||||
<p id="stats" data-i18n="popupBlockedSinceInstallPrompt"></p>
|
<p id="stats" data-i18n="popupBlockedSinceInstallPrompt"></p>
|
||||||
<p id="total-blocked">?</p>
|
<p id="total-blocked">?</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="dynamicFilteringToggler" class="fa on">
|
<div id="dynamicFilteringToggler" class="fa on">
|
||||||
<div></div>
|
<div></div>
|
||||||
|
@ -30,28 +30,59 @@
|
||||||
<div></div>
|
<div></div>
|
||||||
<div></div>
|
<div></div>
|
||||||
<a href="https://github.com/gorhill/uBlock/wiki/Dynamic-filtering" target="_blank">?</a>
|
<a href="https://github.com/gorhill/uBlock/wiki/Dynamic-filtering" target="_blank">?</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div id="dynamicFilteringContainer">
|
<div id="dynamicFilteringContainer">
|
||||||
<div class="dynamicFiltering local" data-scope=".">
|
<div class="dynamicFiltering local" data-scope=".">
|
||||||
<div data-first-party data-type="inline-script"></div>
|
<div data-first-party data-type="inline-script">
|
||||||
<div data-first-party data-type="script"></div>
|
<div class="tip" data-i18n="popupSiteInlineScriptEnabled"></div>
|
||||||
<div data-type="script"></div>
|
<div class="tip" data-i18n="popupSiteInlineScriptDisabled"></div>
|
||||||
<div data-first-party data-type="sub_frame"></div>
|
</div>
|
||||||
<div data-type="sub_frame"></div>
|
<div data-first-party data-type="script">
|
||||||
<div class="label"><script></div>
|
<div class="tip" data-i18n="popupSite1pScriptEnabled"></div>
|
||||||
<div class="label"><iframe></div>
|
<div class="tip" data-i18n="popupSite1pScriptDisabled"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="dynamicFiltering global" data-scope="/">
|
<div data-type="script">
|
||||||
<div data-first-party data-type="inline-script"></div>
|
<div class="tip" data-i18n="popupSite3pScriptEnabled"></div>
|
||||||
<div data-first-party data-type="script"></div>
|
<div class="tip" data-i18n="popupSite3pScriptDisabled"></div>
|
||||||
<div data-type="script"></div>
|
</div>
|
||||||
<div data-first-party data-type="sub_frame"></div>
|
<div data-first-party data-type="sub_frame">
|
||||||
<div data-type="sub_frame"></div>
|
<div class="tip" data-i18n="popupSite1pFrameEnabled"></div>
|
||||||
<div class="label"><script></div>
|
<div class="tip" data-i18n="popupSite1pFrameDisabled"></div>
|
||||||
<div class="label"><iframe></div>
|
</div>
|
||||||
</div>
|
<div data-type="sub_frame">
|
||||||
</div>
|
<div class="tip" data-i18n="popupSite3pFrameEnabled"></div>
|
||||||
|
<div class="tip" data-i18n="popupSite3pFrameDisabled"></div>
|
||||||
|
</div>
|
||||||
|
<div class="label"><script></div>
|
||||||
|
<div class="label"><iframe></div>
|
||||||
|
</div>
|
||||||
|
<div class="dynamicFiltering global" data-scope="/">
|
||||||
|
<div data-first-party data-type="inline-script">
|
||||||
|
<div class="tip" data-i18n="popupDefaultInlineScriptEnabled"></div>
|
||||||
|
<div class="tip" data-i18n="popupDefaultInlineScriptDisabled"></div>
|
||||||
|
</div>
|
||||||
|
<div data-first-party data-type="script">
|
||||||
|
<div class="tip" data-i18n="popupDefault1pScriptEnabled"></div>
|
||||||
|
<div class="tip" data-i18n="popupDefault1pScriptDisabled"></div>
|
||||||
|
</div>
|
||||||
|
<div data-type="script">
|
||||||
|
<div class="tip" data-i18n="popupDefault3pScriptEnabled"></div>
|
||||||
|
<div class="tip" data-i18n="popupDefault3pScriptDisabled"></div>
|
||||||
|
</div>
|
||||||
|
<div data-first-party data-type="sub_frame">
|
||||||
|
<div class="tip" data-i18n="popupDefault1pFrameEnabled"></div>
|
||||||
|
<div class="tip" data-i18n="popupDefault1pFrameDisabled"></div>
|
||||||
|
</div>
|
||||||
|
<div data-type="sub_frame">
|
||||||
|
<div class="tip" data-i18n="popupDefault3pFrameEnabled"></div>
|
||||||
|
<div class="tip" data-i18n="popupDefault3pFrameDisabled"></div>
|
||||||
|
</div>
|
||||||
|
<div class="label"><script></div>
|
||||||
|
<div class="label"><iframe></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<script src="js/vapi-common.js"></script>
|
<script src="js/vapi-common.js"></script>
|
||||||
<script src="js/vapi-client.js"></script>
|
<script src="js/vapi-client.js"></script>
|
||||||
<script src="js/vapi-appinfo.js"></script>
|
<script src="js/vapi-appinfo.js"></script>
|
||||||
|
|
|
@ -22,7 +22,6 @@ ul {
|
||||||
<li><input id="icon-badge" type="checkbox"><label data-i18n="settingsIconBadgePrompt" for="icon-badge"></label>
|
<li><input id="icon-badge" type="checkbox"><label data-i18n="settingsIconBadgePrompt" for="icon-badge"></label>
|
||||||
<li><input id="context-menu-enabled" type="checkbox"><label data-i18n="settingsContextMenuPrompt" for="context-menu-enabled"></label>
|
<li><input id="context-menu-enabled" type="checkbox"><label data-i18n="settingsContextMenuPrompt" for="context-menu-enabled"></label>
|
||||||
<li><input id="experimental-enabled" type="checkbox"><label data-i18n="settingsExperimentalPrompt" for="experimental-enabled"></label>
|
<li><input id="experimental-enabled" type="checkbox"><label data-i18n="settingsExperimentalPrompt" for="experimental-enabled"></label>
|
||||||
(<a href="https://github.com/gorhill/uBlock/wiki/Experimental-features" style="font-style:italic">Experimental features</a>)
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<script src="js/vapi-common.js"></script>
|
<script src="js/vapi-common.js"></script>
|
||||||
|
|
Loading…
Reference in New Issue