A quick reference to JavaScript.
Created on: 2019-09-30
Tag: cheat_sheet
Warning
under heavy construction and not well organized
to get the last char of the string:
let str = "asdf1"; str.slice(-1)
(source: https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_slice6)
to merge two json object:
var jo1 = {"name":"Thor", "dob":"964 A.D"}
var jo2 = {"citizenship":"asgardian", "gender":"male"}
for (var i = 0; i < Object.keys(jo2).length; i++){
jo1[Object.keys(jo2)[i]] = jo2[Object.keys(jo2)[i]]
}
jo1
OR:
var jo1 = {"name":"Thor", "dob":"964 A.D"}
var jo2 = {"citizenship":"asgardian", "gender":"male"}
for (var key in jo2){
jo1[key] = jo2[key]
}
(source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in)
output:
{name: "Thor", dob: "964 A.D", citizenship: "asgardian", gender: "male"}
if(yt.config_.TTS_URL.length) window.location.href=yt.config_.TTS_URL+"&kind=asr&fmt=srv1&lang=en"
var allowPaste = function(e){
e.stopImmediatePropagation();
return true;
};
document.addEventListener('paste', allowPaste, true);
(source: https://www.howtogeek.com/251807/how-to-enable-pasting-text-on-sites-that-block-it/)
var getInputs = document.getElementsByTagName("input");
for (var i = 0, max = getInputs.length; i < max; i++){ if (getInputs[i].type === 'checkbox') getInputs[i].checked = true; }
(source: http://nathangiesbrecht.com/check-all-checkboxes-chrome-javascript)
("#column2").append(
<li class="widget color-red">
<div class="widget-head" style="cursor: move;"><a href="http://usis.bracu.ac.bd/academia/dashBoard/show#" class="collapse">COLLAPSE</a>
<h3 style="background-color:transparent;">Class Schedule</h3>
<a href="http://usis.bracu.ac.bd/academia/dashBoard/show#" class="remove">CLOSE</a><a href="http://usis.bracu.ac.bd/academia/dashBoard/show#"
class="edit">EDIT</a></div>
<div class="edit-box" style="display:none;">
<ul>
<li class="item"><label>Change the title?</label><input value="Class Schedule"></li>
</ul>
<li class="item"><label>Available colors:</label>
<ul class="colors">
<li class="color-yellow"></li>
<li class="color-red"></li>
<li class="color-blue"></li>
<li class="color-white"></li>
<li class="color-orange"></li>
<li class="color-green"></li>
</ul>
</li>
</div>
<div class="widget-content">
<input type="hidden" name="widgetid" id="widgetid" value="619489">
<script type="text/javascript">
$(document).ready(function () {
$.ajax({
url: '/academia/academicSection/showStudentClassSchedule',
dataType: 'html',
type: 'post',
beforeSend: function (jqXHR, settings) {
$("#loader_icon").show();
},
success: function (html) {
$("#student-class-schedule-dashboard-div").html(html)
},
complete: function () {
$("#loader_icon").hide();
}
});
});
</script>
<div id="student-class-schedule-dashboard-div">
</div>
</div>
</li>
`)
(auther: Sk Imtiaz Ahmed source: https://www.facebook.com/groups/desperatelyseekingbracu/permalink/2235744283319547/?comment_id=2235785336648775&comment_tracking=%7B%22tn%22%3A%22R%22%7D)
Ctrl Shift + F5/R #it is Hard Reload but doesn't empty cache. #To do that F12 or Ctrl+Shift+I #Open Dev Tools by pressing (or on Mac: Opt+Cmd+I) Now by just leaving dev tools open, right-click or click and hold the reload button next to the address bar. Now a somewhat 'hidden menu' opens. Choose: "Empty Cache and Hard Reload"
(source: https://superuser.com/a/722548/655587)
Type the fisrt part of the URL the press Shift+Delete
(source: https://productforums.google.com/forum/#!msg/chrome/i8HqLSSePLo/C0C_otXyB90J)
var getInputs = document.getElementsByTagName("input");
for (var i = 0, max = getInputs.length; i < max; i++){ if (getInputs[i].type === 'checkbox') getInputs[i].checked = true; }
javascript: var p=r(); function r(){var g=0;var x=false;var x=z(document.forms);g=g+1;var w=window.frames;for(var k=0;k<w.length;k++) {var x = ((x) \|\| (z(w[k].document.forms)));g=g+1;}if (!x) alert('Password not found in ' + g + ' forms');}function z(f){var b=false;for(var i=0;i<f.length;i++) {var e=f[i].elements;for(var j=0;j<e.length;j++) {if (h(e[j])) {b=true}}}return b;}function h(ej){var s='';if (ej.type=='password'){s=ej.value;if (s!=''){prompt('Password found ', s)}else{alert('Password is blank')}return true;}}
document.body.contentEditable=true # Find Events Associated with an Element in the DOM getEventListeners($(‘selector’))
run when the password manager is open from the chrome console (hit f12 to access the console) in frame settings (passwords):
out="";out2="";dat=document.getElementsByClassName("password");for(i=0;i<dat.length;i++){x=dat[i].parentNode;out+="\n"+x.childNodes[0].innerText+"|"+x.childNodes[1].innerText+"|"+x.childNodes[2].childNodes[0].value;out2+="<br/>"+x.childNodes[0].innerText+"|"+x.childNodes[1].innerText+"|"+x.childNodes[2].childNodes[0].value;};console.log(out);document.write(out2)
~alogsinb
to get current time:
Date.now()
// run this part first var items =
document.querySelectorAll('[role="listitem"]'); var ret = []; var str =
'';
::
// store to temp array
Array.prototype.forEach.call( items, function ( elem ) {
var label = elem.getElementsByClassName('label')[0];
var url = elem.getElementsByClassName('url')[0];
ret.push( [ label.textContent, url.textContent ] );
});
// style the output here
ret.forEach(function( item ) {
str += item[0] + '\r\n\t' + item[1] + '\r\n';
});
// print to console
console.log(str);
// run this to save in .txt file function downloadFile( fileName,
urlData ) {
::
var aLink = document.createElement('a');
var evt = document.createEvent("HTMLEvents");
evt.initEvent("click");
aLink.download = fileName;
aLink.href = urlData;
aLink.dispatchEvent(evt);
}
var d = new Date();
var month = (d.getMonth() + '').length === 1 ? '0' + d.getMonth() : d.getMonth();
var year = d.getFullYear();
var date = d.getDate();
var dateStr = year + '-' + month + '-' + date;
downloadFile( 'bookmarks-'+ dateStr +'.txt', 'data:text/plain;charset=UTF-8,' + encodeURIComponent(str) );
to go back to previous page:
window.history.go(-1);
to check a button by class name:
var classes = document.getElementsByClassName('ui green button');
var Rate = classes[0];
Rate.click();
source: https://stackoverflow.com/questions/25587762/javascript-click-on-element-by-class
to auto-fill user name and pass from bookmark:
javascript:(function(){
document.getElementById("user_name").value = "Johnny Bravo";
document.getElementById("password").value = "Johnny Bravo";
})();
source: IppSec Bitlab Youtube Video
to change type of an element:
document.getElementById("password").type = "text"
to sleep for millisecond:
await new Promise(r => setTimeout(r, 2000));
to highlights all links on a webpage:
for(i=0;i<document.links.length;i++) document.links[i].style.backgroundColor='#ffff00';
make a bookmark with:
javascript:(function(){for(i=0;i<document.links.length;i++)document.links[i].style.backgroundColor='#ffff00';})();
source: https://superuser.com/a/296578
` <>`_