mirror of
https://gitee.com/bitdance-team/chrome-extension
synced 2025-10-07 16:35:15 +08:00
Merge branch 'feat-advanced-search' into develop
This commit is contained in:
@@ -43,186 +43,6 @@ chrome.contextMenus.create({
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ****************************************************************************************
|
|
||||||
*
|
|
||||||
* app.js/base.js
|
|
||||||
*
|
|
||||||
* ****************************************************************************************
|
|
||||||
*/
|
|
||||||
// 'use strict';
|
|
||||||
|
|
||||||
const app = {};
|
|
||||||
window.app = app;
|
|
||||||
|
|
||||||
/* runtime */
|
|
||||||
app.runtime = {
|
|
||||||
on(e, callback) {
|
|
||||||
if (e === 'start') {
|
|
||||||
chrome.runtime.onStartup.addListener(callback);
|
|
||||||
chrome.runtime.onInstalled.addListener(callback);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
get manifest() {
|
|
||||||
return chrome.runtime.getManifest();
|
|
||||||
},
|
|
||||||
connect(tabId, connectInfo) {
|
|
||||||
let port;
|
|
||||||
if (typeof tabId === 'object') {
|
|
||||||
port = chrome.runtime.connect(tabId);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
port = chrome.tabs.connect(tabId, connectInfo);
|
|
||||||
}
|
|
||||||
return {
|
|
||||||
on(e, callback) {
|
|
||||||
if (e === 'message') {
|
|
||||||
port.onMessage.addListener(callback);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
post(msg) {
|
|
||||||
port.postMessage(msg);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// /* storage */
|
|
||||||
// app.storage = {
|
|
||||||
// get(prefs, type = 'managed') {
|
|
||||||
// return new Promise(resolve => {
|
|
||||||
// if (type === 'managed') {
|
|
||||||
// chrome.storage.managed.get(prefs, ps => {
|
|
||||||
// chrome.storage.local.get(chrome.runtime.lastError ? prefs : ps || prefs, resolve);
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// else {
|
|
||||||
// chrome.storage[type].get(prefs, resolve);
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// },
|
|
||||||
// set(prefs, type = 'managed') {
|
|
||||||
// return new Promise(resolve => {
|
|
||||||
// chrome.storage[type === 'remote' ? 'remote' : 'local'].set(prefs, resolve);
|
|
||||||
// });
|
|
||||||
// },
|
|
||||||
// on(e, callback) {
|
|
||||||
// if (e === 'changed') {
|
|
||||||
// chrome.storage.onChanged.addListener(callback);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// };
|
|
||||||
|
|
||||||
// /* button */
|
|
||||||
// app.button = {
|
|
||||||
// set({
|
|
||||||
// popup
|
|
||||||
// }, tabId) {
|
|
||||||
// if (popup !== undefined) {
|
|
||||||
// chrome.browserAction.setPopup({
|
|
||||||
// tabId,
|
|
||||||
// popup
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// on(e, callback) {
|
|
||||||
// if (e === 'clicked') {
|
|
||||||
// chrome.browserAction.onClicked.addListener(callback);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// };
|
|
||||||
|
|
||||||
// /* tab */
|
|
||||||
// app.tabs = {
|
|
||||||
// open({
|
|
||||||
// url
|
|
||||||
// }) {
|
|
||||||
// return new Promise(resolve => chrome.tabs.create({ url }, resolve));
|
|
||||||
// },
|
|
||||||
// current() {
|
|
||||||
// return new Promise(resolve => chrome.tabs.query({
|
|
||||||
// active: true,
|
|
||||||
// currentWindow: true
|
|
||||||
// }, (tabs = []) => resolve(tabs[0])));
|
|
||||||
// },
|
|
||||||
// inject: {
|
|
||||||
// js(tabId, details) {
|
|
||||||
// if (typeof tabId === 'object') {
|
|
||||||
// details = tabId;
|
|
||||||
// tabId = undefined;
|
|
||||||
// }
|
|
||||||
// return new Promise((resolve, reject) => {
|
|
||||||
// chrome.tabs.executeScript(tabId, Object.assign({
|
|
||||||
// runAt: 'document_start'
|
|
||||||
// }, details), results => {
|
|
||||||
// const lastError = chrome.runtime.lastError;
|
|
||||||
// if (lastError) {
|
|
||||||
// reject(lastError);
|
|
||||||
// }
|
|
||||||
// else {
|
|
||||||
// resolve(results);
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// });
|
|
||||||
// },
|
|
||||||
// css(tabId, details) {
|
|
||||||
// if (typeof tabId === 'object') {
|
|
||||||
// details = tabId;
|
|
||||||
// tabId = undefined;
|
|
||||||
// }
|
|
||||||
// return new Promise((resolve, reject) => {
|
|
||||||
// chrome.tabs.insertCSS(tabId, Object.assign({
|
|
||||||
// runAt: 'document_start'
|
|
||||||
// }, details), results => {
|
|
||||||
// const lastError = chrome.runtime.lastError;
|
|
||||||
// if (lastError) {
|
|
||||||
// reject(lastError);
|
|
||||||
// }
|
|
||||||
// else {
|
|
||||||
// resolve(results);
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// };
|
|
||||||
|
|
||||||
// /* window */
|
|
||||||
// app.windows = {
|
|
||||||
// open({url, left, top, width, height, type}) {
|
|
||||||
// width = width || 700;
|
|
||||||
// height = height || 500;
|
|
||||||
// if (left === undefined) {
|
|
||||||
// left = screen.availLeft + Math.round((screen.availWidth - width) / 2);
|
|
||||||
// }
|
|
||||||
// if (top === undefined) {
|
|
||||||
// top = screen.availTop + Math.round((screen.availHeight - height) / 2);
|
|
||||||
// }
|
|
||||||
// return new Promise(resolve => chrome.windows.create(
|
|
||||||
// {url, width, height, left, top, type: type || 'popup'},
|
|
||||||
// resolve
|
|
||||||
// ));
|
|
||||||
// }
|
|
||||||
// };
|
|
||||||
|
|
||||||
// /* menus */
|
|
||||||
// app.menus = {
|
|
||||||
// add(...items) {
|
|
||||||
// for (const item of items) {
|
|
||||||
// chrome.contextMenus.create(Object.assign({
|
|
||||||
// contexts: item.contexts || ['browser_action']
|
|
||||||
// }, item));
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// on(e, callback) {
|
|
||||||
// if (e === 'clicked') {
|
|
||||||
// chrome.contextMenus.onClicked.addListener(callback);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// };
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ****************************************************************************************
|
* ****************************************************************************************
|
||||||
*
|
*
|
||||||
@@ -1005,7 +825,12 @@ function updateDefaultSuggestion(text) {
|
|||||||
}
|
}
|
||||||
description.push('<dim> ] </dim>');
|
description.push('<dim> ] </dim>');
|
||||||
|
|
||||||
description[2] = isPlaintext ? ('<match>' + text.trim() + '</match>') : ('<dim>' + omniboxSearchModes[0].showText + '</dim>');
|
if (text.trim().length != 0) {
|
||||||
|
description[2] = isPlaintext ? ('<match>' + omniboxSearchModes[0].showText + ':' + text.trim() + '</match>') : ('<dim>' + omniboxSearchModes[0].showText + '</dim>');
|
||||||
|
} else {
|
||||||
|
// 用户什么也没输入时,就高亮显示文字搜索关键字
|
||||||
|
description[2] = '<match>' + omniboxSearchModes[0].showText + '</match>';
|
||||||
|
}
|
||||||
|
|
||||||
console.log("[更新下拉框提示开始]");
|
console.log("[更新下拉框提示开始]");
|
||||||
console.log(" text:", text);
|
console.log(" text:", text);
|
||||||
@@ -1037,44 +862,3 @@ function updateDefaultSuggestion(text) {
|
|||||||
// description: description
|
// description: description
|
||||||
// });
|
// });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// /**
|
|
||||||
// * 执行搜索
|
|
||||||
// * @param {*} query
|
|
||||||
// * @param {*} callback
|
|
||||||
// * @returns
|
|
||||||
// */
|
|
||||||
// function search(query, callback) {
|
|
||||||
|
|
||||||
// var url = "https://code.google.com/p/chromium/codesearch#search/&type=cs&q=" + query +
|
|
||||||
// "&exact_package=chromium&type=cs";
|
|
||||||
// var req = new XMLHttpRequest();
|
|
||||||
// req.open("GET", url, true);
|
|
||||||
// req.setRequestHeader("GData-Version", "2");
|
|
||||||
// req.onreadystatechange = function () {
|
|
||||||
// if (req.readyState == 4) {
|
|
||||||
// callback(req.responseXML);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// req.send(null);
|
|
||||||
// return req;
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ****************************************************************************************
|
|
||||||
*
|
|
||||||
* 测试代码及其他
|
|
||||||
*
|
|
||||||
* ****************************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
先抛砖。未来在 Chrome 中输入:Chrome 过去1年最重要的变化? 知乎(或者zh)我们将带你进入问题页面,如果没有类似问题,就会直接提问。这个东西带来的想象力是,你可以用浏览器简单快捷的做不少事情,比如发微博,就输入「wb 知乎很给力」,京东购物,就输入「jd买 iPhone 4」。但很可能是一个相对小众的工具。
|
|
||||||
|
|
||||||
作者:李申申
|
|
||||||
链接:https://www.zhihu.com/question/19565733/answer/12236808
|
|
||||||
来源:知乎
|
|
||||||
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
|
|
||||||
*/
|
|
||||||
|
Reference in New Issue
Block a user