📄 search.js
字号:
var initaction;
var OFFLINE = false;
function doSearch() {
var form = document.forms[0];
if (! form.search ) {
alert("Can't find the search box, I don't know what to search for.");
} else {
if (OFFLINE) {
window.location.href = "/content/search.php?query=" + escape(form.search.value);
} else {
window.location.href = "http://search.doulos.com/doulos/search.nsf/searchresults?searchview&SearchOrder=1&count=10&SearchMax=0&query=" + escape(GoogleToNotes(form.search.value)) + "&Start=0";
}
}
}
function setAction() {
var newAction = "javascript:doSearch();"
var form = document.forms[0];
if (form.action != newAction) {
initaction = form.action;
}
form.action = newAction;
}
function unsetAction() {
var form = document.forms[0];
form.action = initaction;
}
//TRIM STRING PROTOTYPE
String.prototype.trim = function(){
return( this.replace(/^\s*([\s\S]*\S+)\s*$|^\s*$/,'$1') );
}
function GoogleToNotes(vQuery){
// var vQuery = document.forms[0].search.value;
//PUT # IN FRONT AND AFTER QUOTES FOR SPLITTING
var vStartString = (" " + vQuery).replace(/-\"/g,"#-\"");
vStartString = vStartString.replace(/ \"/g," #\"");
vStartString = vStartString.replace(/\" /g,"\"# ");
//HANDLE + e.g. mike+golding e.g. news +it
vStartString = vStartString.replace(/ \+/g," ");
vStartString = vStartString.replace(/\+/g," AND ");
vStartString = vStartString.trim();
//CHECK FOR FIRST CHARACTER BEING A #
if(vStartString.substring(0,1) == "#"){
var vStartString = vStartString.substring(1,vStartString.length);
}
//SPLIT ELEMENTS INTO AN ARRAY
var array = vStartString.split("#");
//REPLACE KEYWORDS NOT, AND, OR WHEN NOT IN A QUOTED STRING
for(var i=0;i<array.length;i++){
var vElement = array[i].replace(/\$1/g,"").trim();
if(vElement.indexOf("\"") < 0){
//REPLACE - (minus) WITH NOT (CLOSED SPACES)
vElement = (" " + vElement).replace(/ -/g," NOT");
//CLOSE SPACES BETWEEN ORs SO ANDs ARE NOT PUT IN
vElement = vElement.replace(/ OR /g,"OR");
//REMOVE EXISTING ANDs for SPACES or ""
vElement = vElement.replace(/ AND /g," ");
vElement = vElement.replace(/ AND/g,"");
vElement = vElement.replace(/AND /g,"");
//REPLACE ALL SPACES FOR ANDs
vElement = vElement.trim().replace(/ /g," AND ")
//PUT NOTs BACK IN
vElement = vElement.replace(/NOT/g," NOT ");
//PUT ORs BACK IN
vElement = vElement.replace(/OR/g," OR ");
}else{
//REPLACE ANY - AT START OF QUOTED STRING
vElement = vElement.replace(/-\"/g,"NOT \"");
}
array[i] = vElement;
}
//JOIN ARRAY WITH ANDs
var vNotesQuery = array.join(" AND ").trim();
//REPLACE DOUBLE KEYWORDS ARFTER JOINING EVERYTHING WITH AND
vNotesQuery = vNotesQuery.replace(/ /g, " ");
vNotesQuery = vNotesQuery.replace(/ AND OR/g, " OR");
vNotesQuery = vNotesQuery.replace(/ AND AND/g, " AND");
//document.forms[0].result.value = vNotesQuery;
return vNotesQuery;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -