mirror of https://github.com/torappinfo/uweb
rebuilding site Sun Jul 3 04:33:22 PM CST 2022
parent
a8e5f9241c
commit
0ef2ef46fe
@ -0,0 +1,76 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||||
|
<title>AD blocking</title>
|
||||||
|
<script type="text/javascript">
|
||||||
|
function nav2(page){
|
||||||
|
let href = location.href;
|
||||||
|
for(let i=href.length-1;i>0;i--){
|
||||||
|
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||||
|
location.href = href.substring(0,i+1)+page;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header class='header'>
|
||||||
|
<a class="logo" href="javascript:void(0)" onclick="return nav2('index.html')">Home</a> <a class="logo" href="javascript:void(0)" onclick="return nav2('tags/index.html')">Tags</a>
|
||||||
|
<nav>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
<br />
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<h1 class="title">AD blocking
|
||||||
|
<br>
|
||||||
|
<span class="subtitle"></span>
|
||||||
|
</h1>
|
||||||
|
<ul class="tags">
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p><a href="../adblock_domain/index.html">Host blocking</a>。</p>
|
||||||
|
<ul>
|
||||||
|
<li>Use <a href="../bookmarklet/index.html">bookmarklet "list all script urls"</a> to generate url links, long pressing dubious script (usually 3rd-party library) link, click "Block domain root".</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p><a href="../sitejs/index.html">Javascript and CSS for domains</a>。</p>
|
||||||
|
<ul>
|
||||||
|
<li>Long press the button "js", click the menu "MarkAD mode". In "markAD mode", click page element to show all attributes and generate CSS AD blocking styles. By default, "display:none" is used. If "display" appears in the attribute information, recommend to use "transform:scale(0)!important" instead.</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Long press the tab manager button, check "Videos only" for video sites and "Images only" for image sites. Other AD blocking options are "Hide pseudo elements" and "Hide iframes".</p>
|
||||||
|
<ul>
|
||||||
|
<li>Add prefix "i:0mc32:" to url when bookmarking, then the option "Images only" applies to whole url subtree. Similarly, "c16" for the option "Videos only" and "c12" for hiding both pseudo elements and iframes.</li>
|
||||||
|
<li>Long press the button [☰], check the option "Fullscreen autoplay". Videos are autoplayed in fullscreen mode, ADs have no chance to appear.</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Long press the setting button, check the option "Block external scripts". <a href="i:61:https://fastly.jsdelivr.net/gh/torappinfo/uwebzh/en/searchurl/func.html">UI</a> website has option to also block dubious 3rd party resources. <a href="file:///sdcard/uweb/js.allow">js.allow</a> whitelists js libraries.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Long press the button [☰], "Disable floating ADs", "Disable banners", "clear all timers", "stop events" and "Sleep ..." are also available.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Click the button with image icon to hide all images.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Click the button "JS" to disable javascript.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p><a href="file:///sdcard/uweb/url.deny">url.deny</a>: one giant regular expression for blocked urls (java grammar), in which carriage returns (CR or newline) are ignored and "#" is for comments.</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,62 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||||
|
<title>Bookmarklets</title>
|
||||||
|
<script type="text/javascript">
|
||||||
|
function nav2(page){
|
||||||
|
let href = location.href;
|
||||||
|
for(let i=href.length-1;i>0;i--){
|
||||||
|
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||||
|
location.href = href.substring(0,i+1)+page;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header class='header'>
|
||||||
|
<a class="logo" href="javascript:void(0)" onclick="return nav2('index.html')">Home</a> <a class="logo" href="javascript:void(0)" onclick="return nav2('tags/index.html')">Tags</a>
|
||||||
|
<nav>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
<br />
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<h1 class="title">Bookmarklets
|
||||||
|
<br>
|
||||||
|
<span class="subtitle"></span>
|
||||||
|
</h1>
|
||||||
|
<ul class="tags">
|
||||||
|
|
||||||
|
<li><a href="../tags/javascript">javascript</a> </li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
<p>With a href="../index.html">uweb browser</a>, long pressing any bookmarklet link, click "Open in new tab", the bookmarklet will be run on the last other tab.</p>
|
||||||
|
<p><a href="javascript:{let es=document.getElementsByTagName('script');let urls='';for(let i=0;i<es.length;i++){if(es[i].src)urls+=es[i].src+'<br>';}let w=window.open(''),s=w.document;s.write(urls);s.close();w.location.href='i:631:';}">List all script urls</a></p>
|
||||||
|
<p><a target="_self" href="javascript:alert(navigator.userAgent)">User agent</a><br>
|
||||||
|
<a href="javascript:(function(){var w=window.open(''),s=w.document;s.write('<html><body></body></html>');s.close();var pre=s.body.appendChild(s.createElement('pre'));pre.style.overflow='auto';pre.style.whiteSpace='pre-wrap';pre.appendChild(s.createTextNode(document.cookie))})()">Cookie</a><br>
|
||||||
|
<a href="javascript:(function(){var w=window.open(''),s=w.document;s.write('<html><body></body></html>');s.close();var pre=s.body.appendChild(s.createElement('pre'));pre.style.overflow='auto';pre.style.whiteSpace='pre-wrap';pre.appendChild(s.createTextNode(document.documentElement.innerHTML))})()">Source code</a><br>
|
||||||
|
<a href="javascript:function%20gett(w){try{var%20lm=new%20Date(w.document.lastModified);if(lm>maxd)maxd=lm;for(var%20i=0;F=w.frames[i];i++){gett(F);}}catch(e){}}var%20now=new%20Date();var%20maxd=new%20Date(document.lastModified);gett(window);if(maxd.getTime()==0||now.toUTCString()==maxd.toUTCString()){alert('Page%20is%20dynamically%20generated,%20cannot%20determine%20date.');}else{alert('Page%20was%20last%20modified%20'+maxd.toLocaleString());}" class="bookmarklet" rel="nofollow">Last modified date</a></p>
|
||||||
|
<p><a href="javascript:(function(){var script=document.createElement('script');script.src='//fastly.jsdelivr.net/npm/eruda';document.body.appendChild(script);script.onload=function(){eruda.init()}})()">Eruda: mobile console</a><br>
|
||||||
|
<a href="javascript:window.open('https://api.qrserver.com/v1/create-qr-code/?size=150x150&data='%20+%20decodeURIComponent(location.href));void(0);">QR code generation</a></p>
|
||||||
|
<p><a href="javascript:(function(){var x,i; x = document.forms; for (i = 0; i < x.length; ++i) x[i].method="get"; alert("Changed " + x.length + " forms to use the GET method. After submitting a form from this page, you should be able to bookmark the result."); })();">Use "GET" method for "POST"</a><br>
|
||||||
|
<a href="javascript:(function(){var i,f,j,e,div,label,ne; for(i=0;f=document.forms[i];++i)for(j=0;e=f[j];++j)if(e.type=="hidden"){ D=document; function C(t){return D.createElement(t);} function A(a,b){a.appendChild(b);} div=C("div"); label=C("label"); A(div, label); A(label, D.createTextNode(e.name + ": ")); e.parentNode.insertBefore(div, e); e.parentNode.removeChild(e); ne=C("input");/*for ie*/ ne.type="text"; ne.value=e.value; A(label, ne); --j;}})()">Shows all form elements</a><br>
|
||||||
|
<a href="javascript:(function(){var x,k,f,j;x=document.forms;for (k=0;k<x.length;++k){f=x[k];for(j=0;j<f.length;++j){f[j].disabled=false; f[j].readOnly=false;}}})()">Enables all form elements</a></p>
|
||||||
|
<p><a href="javascript:(function(){function toggle(box){temp=box.onchange;box.onchange=null;box.checked=!box.checked;box.onchange=temp;}var f=document.querySelectorAll(%22input[type='checkbox']%22);var j;for(j=0;j<f.length;++j)toggle(f[j]);})()">Toggle checkboxes</a><br>
|
||||||
|
<a href="javascript:(function(){function set(box,bChecked){temp=box.onchange;box.onchange=null;box.checked=bChecked;box.onchange=temp;}var f=document.querySelectorAll(%22input[type='checkbox']%22);var j;for(j=0;j<f.length;++j)set(f[j],true);})()">Check all checkboxes</a><br>
|
||||||
|
<a href="javascript:(function(){function set(box,bChecked){temp=box.onchange;box.onchange=null;box.checked=bChecked;box.onchange=temp;}var f=document.querySelectorAll(%22input[type='checkbox']%22);var j;for(j=0;j<f.length;++j)set(f[j],false);})()">Uncheck all checkboxes</a><br>
|
||||||
|
<a href="javascript:(function(){ function toggle(box){ temp=box.onchange; box.onchange=null; box.checked=!box.checked; box.onchange=temp; } var x,k,f,j; x=document.forms; for (k=0; k<x.length; ++k) { f=x[k]; for (j=0;j<f.length;++j) if (f[j].type.toLowerCase() == "checkbox") toggle(f[j]); } })();">Toggle all checkboxes in forms</a><br>
|
||||||
|
<a href="javascript:(function(){var%20doc=document;var%20bd=doc.body;bd.onselectstart=bd.oncopy=bd.onpaste=bd.onkeydown=bd.oncontextmenu=bd.onmousemove=bd.onselectstart=bd.ondragstart=doc.onselectstart=doc.oncopy=doc.onpaste=doc.onkeydown=doc.oncontextmenu=null;doc.onselectstart=doc.oncontextmenu=doc.onmousedown=doc.onkeydown=null;void(0)})()">Enable selection</a><br>
|
||||||
|
<a href="javascript:(function() { function R(a){ona = "on"+a; if(window.addEventListener) window.addEventListener(a, function (e) { for(var n=e.originalTarget; n; n=n.parentNode) n[ona]=null; }, true); window[ona]=null; document[ona]=null; if(document.body) document.body[ona]=null; } R("contextmenu"); R("click"); R("mousedown"); R("mouseup"); })()">Restore context menu</a><br>
|
||||||
|
<a href="javascript:(function(){var count=0, text, regexp;text=prompt("Search regexp:", "");if(text==null || text.length==0)return;try{regexp=new RegExp("(" + text +")", "i");}catch(er){alert("Unable to create regular expression using text '"+text+"'.\n\n"+er);return;}function searchWithinNode(node, re){var pos, skip, spannode, middlebit, endbit, middleclone;skip=0;if( node.nodeType==3 ){pos=node.data.search(re);if(pos>=0){spannode=document.createElement("SPAN");spannode.style.backgroundColor="yellow";middlebit=node.splitText(pos);endbit=middlebit.splitText(RegExp.$1.length);middleclone=middlebit.cloneNode(true);spannode.appendChild(middleclone);middlebit.parentNode.replaceChild(spannode,middlebit);++count;skip=1;}}else if( node.nodeType==1 && node.childNodes && node.tagName.toUpperCase()!="SCRIPT" && node.tagName.toUpperCase!="STYLE"){for (var child=0; child < node.childNodes.length; ++child){child=child+searchWithinNode(node.childNodes[child], re);}}return skip;}window.status="Searching for "+regexp+"...";searchWithinNode(document.body, regexp);window.status="Found "+count+" match"+(count==1?"":"es")+" for "+regexp+".";})();">Search with regex</a><br>
|
||||||
|
<a href="javascript:function toArray (c){var a, k;a=new Array;for (k=0; k<c.length; ++k)a[k]=c[k];return a;}function insAtTop(par,child){if(par.childNodes.length) par.insertBefore(child, par.childNodes[0]);else par.appendChild(child);}function countCols(tab){var nCols, i;nCols=0;for(i=0;i<tab.rows.length;++i)if(tab.rows[i].cells.length>nCols)nCols=tab.rows[i].cells.length;return nCols;}function makeHeaderLink(tableNo, colNo, ord){var link;link=document.createElement('a');link.href='javascript:sortTable('+tableNo+','+colNo+','+ord+');';link.appendChild(document.createTextNode((ord>0)?'a':'d'));return link;}function makeHeader(tableNo,nCols){var header, headerCell, i;header=document.createElement('tr');for(i=0;i<nCols;++i){headerCell=document.createElement('td');headerCell.appendChild(makeHeaderLink(tableNo,i,1));headerCell.appendChild(document.createTextNode('/'));headerCell.appendChild(makeHeaderLink(tableNo,i,-1));header.appendChild(headerCell);}return header;}g_tables=toArray(document.getElementsByTagName('table'));if(!g_tables.length) alert("This page doesn't contain any tables.");(function(){var j, thead;for(j=0;j<g_tables.length;++j){thead=g_tables[j].createTHead();insAtTop(thead, makeHeader(j,countCols(g_tables[j])))}}) ();function compareRows(a,b){if(a.sortKey==b.sortKey)return 0;return (a.sortKey < b.sortKey) ? g_order : -g_order;}function sortTable(tableNo, colNo, ord){var table, rows, nR, bs, i, j, temp;g_order=ord;g_colNo=colNo;table=g_tables[tableNo];rows=new Array();nR=0;bs=table.tBodies;for(i=0; i<bs.length; ++i)for(j=0; j<bs[i].rows.length; ++j){rows[nR]=bs[i].rows[j];temp=rows[nR].cells[g_colNo];if(temp) rows[nR].sortKey=temp.innerHTML;else rows[nR].sortKey="";++nR;}rows.sort(compareRows);for (i=0; i < rows.length; ++i)insAtTop(table.tBodies[0], rows[i]);}">Table re-order</a></p>
|
||||||
|
<p><a href="javascript: (function() { var url = ('http://www.bugmenot.com/view/' + escape(location.hostname)); w = open(url, 'w', 'location=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,width=500,height=400,modal=yes,dependent=yes'); if (w) { setTimeout('w.focus()', 1000) } else { location = url } })();">BugMeNot</a></p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,60 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||||
|
<title>Javascript and CSS for domains</title>
|
||||||
|
<script type="text/javascript">
|
||||||
|
function nav2(page){
|
||||||
|
let href = location.href;
|
||||||
|
for(let i=href.length-1;i>0;i--){
|
||||||
|
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||||
|
location.href = href.substring(0,i+1)+page;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header class='header'>
|
||||||
|
<a class="logo" href="javascript:void(0)" onclick="return nav2('index.html')">Home</a> <a class="logo" href="javascript:void(0)" onclick="return nav2('tags/index.html')">Tags</a>
|
||||||
|
<nav>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
<br />
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<h1 class="title">Javascript and CSS for domains
|
||||||
|
<br>
|
||||||
|
<span class="subtitle"></span>
|
||||||
|
</h1>
|
||||||
|
<ul class="tags">
|
||||||
|
|
||||||
|
<li><a href="../tags/javascript">javascript</a> </li>
|
||||||
|
|
||||||
|
<li><a href="../tags/css">css</a> </li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
<p>Javascript (load when page completes, earliest loaded JS should use sitecss).</p>
|
||||||
|
<ul>
|
||||||
|
<li>Need to be named as "[domain root].js", such as "yahoo.com.js" or "finance.yahoo.com.js". The script will be loaded on the whole domain tree sites. If several files matches the domain, then the script with longest file name is loaded.</li>
|
||||||
|
<li>Script must be put under the folder "/sdcard/uweb/sitejs" or "/data/data/info.torapp.uweb/files/sitejs". The later folder has the priority.</li>
|
||||||
|
<li>Long press the button "settings", check the option "Run user scripts".</li>
|
||||||
|
<li>Support 2/3-segment domains. If the length of the last 2-segments of domain is less than 7 (ex. "com.pl"), then it is treated as one segment.</li>
|
||||||
|
</ul>
|
||||||
|
<p>CSS style and earliest loaded JS</p>
|
||||||
|
<ul>
|
||||||
|
<li>Need to be named as "[domain root].css", such as yahoo.com.css or finance.yahoo.com.css。</li>
|
||||||
|
<li>Under folder "/sdcard/uweb/sitecss".</li>
|
||||||
|
<li>"[domain root].js" is loaded at the earlieat time.</li>
|
||||||
|
<li>Long press the button "settings", check the option "Apply user styles".</li>
|
||||||
|
</ul>
|
||||||
|
<p>If file "/sdcard/uweb/default.css" exists, the style will be applied to all sites without matching [domain root].css.</p>
|
||||||
|
<p>"sitejs/.js" , "sitecss/.css" and "sitecss/.js" are applied to all non-http urls (file urls etc.).</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,43 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||||
|
<title>css</title>
|
||||||
|
<script type="text/javascript">
|
||||||
|
function nav2(page){
|
||||||
|
let href = location.href;
|
||||||
|
for(let i=href.length-1;i>0;i--){
|
||||||
|
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||||
|
location.href = href.substring(0,i+1)+page;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header class='header'>
|
||||||
|
<a class="logo" href="javascript:void(0)" onclick="return nav2('index.html')">Home</a> <a class="logo" href="javascript:void(0)" onclick="return nav2('tags/index.html')">Tags</a>
|
||||||
|
<nav>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
<br />
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<h1 class="title">css</h1>
|
||||||
|
<ul class="posts">
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="../../sitejs">
|
||||||
|
<span>Javascript and CSS for domains</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
<ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||||
|
<channel>
|
||||||
|
<title>css on </title>
|
||||||
|
<link>/en/tags/css/</link>
|
||||||
|
<description>Recent content in css on </description>
|
||||||
|
<generator>Hugo -- gohugo.io</generator><atom:link href="/en/tags/css/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
<item>
|
||||||
|
<title>Javascript and CSS for domains</title>
|
||||||
|
<link>/en/sitejs/</link>
|
||||||
|
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||||
|
|
||||||
|
<guid>/en/sitejs/</guid>
|
||||||
|
<description>Javascript (load when page completes, earliest loaded JS should use sitecss).
|
||||||
|
Need to be named as &quot;[domain root].js&quot;, such as &quot;yahoo.com.js&quot; or &quot;finance.yahoo.com.js&quot;. The script will be loaded on the whole domain tree sites. If several files matches the domain, then the script with longest file name is loaded. Script must be put under the folder &quot;/sdcard/uweb/sitejs&quot; or &quot;/data/data/info.torapp.uweb/files/sitejs&quot;. The later folder has the priority. Long press the button &quot;settings&quot;, check the option &quot;Run user scripts&quot;.</description>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
</channel>
|
||||||
|
</rss>
|
@ -0,0 +1,49 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/uwebzh/style.css" type="text/css" />
|
||||||
|
<title>javascript</title>
|
||||||
|
<script type="text/javascript">
|
||||||
|
function nav2(page){
|
||||||
|
let href = location.href;
|
||||||
|
for(let i=href.length-1;i>0;i--){
|
||||||
|
if('/'==href.charAt(i) && '/'==href.charAt(i-3))
|
||||||
|
location.href = href.substring(0,i+1)+page;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header class='header'>
|
||||||
|
<a class="logo" href="javascript:void(0)" onclick="return nav2('index.html')">Home</a> <a class="logo" href="javascript:void(0)" onclick="return nav2('tags/index.html')">Tags</a>
|
||||||
|
<nav>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
<br />
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<h1 class="title">javascript</h1>
|
||||||
|
<ul class="posts">
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="../../bookmarklet">
|
||||||
|
<span>Bookmarklets</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="../../sitejs">
|
||||||
|
<span>Javascript and CSS for domains</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
<ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,44 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||||
|
<channel>
|
||||||
|
<title>javascript on </title>
|
||||||
|
<link>/en/tags/javascript/</link>
|
||||||
|
<description>Recent content in javascript on </description>
|
||||||
|
<generator>Hugo -- gohugo.io</generator>
|
||||||
|
<lastBuildDate>Fri, 24 Jun 2022 00:00:00 +0000</lastBuildDate><atom:link href="/en/tags/javascript/index.xml" rel="self" type="application/rss+xml" />
|
||||||
|
<item>
|
||||||
|
<title>Bookmarklets</title>
|
||||||
|
<link>/en/bookmarklet/</link>
|
||||||
|
<pubDate>Fri, 24 Jun 2022 00:00:00 +0000</pubDate>
|
||||||
|
|
||||||
|
<guid>/en/bookmarklet/</guid>
|
||||||
|
<description>With a href=&quot;../index.html&quot;&gt;uweb browser, long pressing any bookmarklet link, click &quot;Open in new tab&quot;, the bookmarklet will be run on the last other tab.
|
||||||
|
List all script urls
|
||||||
|
User agent
|
||||||
|
Cookie
|
||||||
|
Source code
|
||||||
|
Last modified date
|
||||||
|
Eruda: mobile console
|
||||||
|
QR code generation
|
||||||
|
Use &quot;GET&quot; method for &quot;POST&quot;
|
||||||
|
Shows all form elements
|
||||||
|
Enables all form elements
|
||||||
|
Toggle checkboxes
|
||||||
|
Check all checkboxes
|
||||||
|
Uncheck all checkboxes
|
||||||
|
Toggle all checkboxes in forms
|
||||||
|
Enable selection</description>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
<item>
|
||||||
|
<title>Javascript and CSS for domains</title>
|
||||||
|
<link>/en/sitejs/</link>
|
||||||
|
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||||
|
|
||||||
|
<guid>/en/sitejs/</guid>
|
||||||
|
<description>Javascript (load when page completes, earliest loaded JS should use sitecss).
|
||||||
|
Need to be named as &quot;[domain root].js&quot;, such as &quot;yahoo.com.js&quot; or &quot;finance.yahoo.com.js&quot;. The script will be loaded on the whole domain tree sites. If several files matches the domain, then the script with longest file name is loaded. Script must be put under the folder &quot;/sdcard/uweb/sitejs&quot; or &quot;/data/data/info.torapp.uweb/files/sitejs&quot;. The later folder has the priority. Long press the button &quot;settings&quot;, check the option &quot;Run user scripts&quot;.</description>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
</channel>
|
||||||
|
</rss>
|
Loading…
Reference in New Issue