我僅使用Skype Web來實現其點擊呼叫目的。它突出顯示了網頁/平臺上的電話號碼,您可以點擊並通過Skype立即撥打電話。 不幸的是,他們不再支持這個「數字高亮」功能,並且高效地完成我的工作真是一件麻煩事。許多卡車調度員都有這個問題。Chrome - Web Skype擴展 - 不會突出顯示網頁上的電話號碼
我用this website找到這個擴展的舊版本。
版本8.4+沒有「數字高亮」複選框選項,但版本8.3和更低版本。我想出了一個奇怪的解決辦法。 (安裝了最新版本的擴展程序,刪除了它,然後安裝了8.4版本,刪除了它,最後安裝了8.3版本.8.3版本顯示了'數字高亮選項',如果您在其中放入了一個複選標記,它會顯示電話號碼。直接從最新到版本8.3有鉻降級錯誤/問題。)
我目前正在編輯版本8.3,但我沒有太多的運氣。被請求的主要文件是這些:
的manifest.json
{
"update_url": "https://clients2.google.com/service/update2/crx",
"name" : "Skype",
"version" : "8.3.0.9150",
"description" : "Quickly access Skype for Web and Share on Skype through your browser",
"background" : {
"page": "background.html"
},
"options_page": "c2c_options_menu.html",
"browser_action": {
"default_icon": {
"19": "skypelogo_19.png",
"38": "skypelogo_38.png"
},
"default_title": "Skype",
"default_popup": "browserActionPopup.html"
},
"permissions" : [
"tabs",
"https://pnrws.skype.com/",
"https://c2c-directory-dev.trafficmanager.net/",
"https://c2c-directory-pre.trafficmanager.net/",
"https://c2c-directory-qa.trafficmanager.net/",
"https://localhost:26143/"
],
"icons" : {
"16" : "skypelogo_16.png",
"19" : "skypelogo_19.png",
"38" : "skypelogo_38.png",
"48" : "skypelogo_48.png",
"128" : "skypelogo_128.png"
},
"content_scripts" : [
{
"matches" : [ "http://*/*", "https://*/*", "file://*/*" ],
"js" : [ "jquery-2.1.0.min.js", "mutation-summary.js", "localization.js", "browserSpecificScript.js", "number_highlighting_builder.js", "pnr.js", "fpnr.js", "contentscript.js"],
"css" : [ "number_highlighting.css", "number_highlighting_chrome.css" ],
"run_at" : "document_end",
"all_frames" : true
}
],
"web_accessible_resources": [
"call_skype_logo.png", "call_icon.png", "menu_handler.js", "telemetry.js", "specificTelemetry.js"
],
"manifest_version": 2
}
background.js
/* globals SkypeC2CTelemetry */
/**
This is the script run when the browser starts up and is not associated
with any tab. Here we create a add-on icon in the add-on bar to display
the options.
*/
'use strict';
/**
* Returns the product version number
*
* @return Product version number
*/
var getProductVersion = function() {
return '8.3.0.9150';
};
/**
* Stores configuration information
*/
var Configuration = {
configReady: '0',
fingerPrint : '0',
metricsUrl: 'https://pipe.skype.com/Client/2.0/',
pushToMobileUrl: 'https://c2c-p2m-secure.skype.com/p2m/v1/push',
lookupHost: 'pnrws.skype.com',
uiId : 0
};
/**
* Queries configuration information from PNR service
*/
var queryConfig = function() {
if (Configuration.configReady === '1') {
// We already have configuration information
return;
}
var ajaxReq = new XMLHttpRequest();
ajaxReq.onreadystatechange = function() {
if (ajaxReq.readyState === 4 && ajaxReq.status === 200) {
var jsonData = JSON.parse(ajaxReq.responseText);
if (jsonData.fp) {
Configuration.fingerPrint = jsonData.fp;
}
if (jsonData.metrics_url) {
Configuration.metricsUrl = jsonData.metrics_url;
}
if (jsonData.lookup_host) {
Configuration.lookupHost = jsonData.lookup_host;
}
if (jsonData.pushtomobile_url) {
Configuration.pushToMobileUrl = jsonData.pushtomobile_url;
}
if (jsonData.ui_id) {
Configuration.uiId = parseInt(jsonData.ui_id);
}
Configuration.configReady = '1';
// Ensure UI id is something we understand
if (Configuration.uiId !== 0 && Configuration.uiId !== 1) {
Configuration.uiId = 0;
}
}
};
ajaxReq.open('GET', 'https://localhost:26143/skypectoc/v1/pnr/config', false);
// Send the request
ajaxReq.send();
};
/**
* Sends metrics data
*/
var postMetrics = function(event, userKVPs) {
if (event === 'extension_state') {
SkypeC2CTelemetry.post(Configuration.metricsUrl,
event,
false, {
Fingerprint: Configuration.fingerPrint,
UiId: Configuration.uiId.toString(),
ReferrerUrl: userKVPs.url,
Enabled: userKVPs.chosenFunction
}
);
} else if (event === 'help_page_click') {
SkypeC2CTelemetry.post(Configuration.metricsUrl,
event,
false, {
Fingerprint: Configuration.fingerPrint,
UiId: Configuration.uiId.toString(),
ReferrerUrl: userKVPs.url
}
);
}
};
var openFaqTab = function() {
chrome.tabs.create({
url: 'https://go.skype.com/skype.extension.faq'
});
};
var firstLaunchExperience = function() {
var previousVersion = localStorage.getItem('skype_version');
var newVersion = getProductVersion();
if (!previousVersion){
openFaqTab();
} else {
var newMajorVersion = parseInt(newVersion.split('.')[0], 10);
var previousMajorVersion = parseInt(previousVersion.split('.')[0], 10);
if (newMajorVersion && previousMajorVersion && (newMajorVersion > previousMajorVersion)) {
openFaqTab();
}
if (previousVersion != newVersion) {
switchOffHighlightingNotification();
}
}
localStorage.setItem('skype_version', getProductVersion());
};
var switchOffHighlightingNotification = function(){
var previousState = JSON.parse(window.localStorage.getItem('switchState'));
if (previousState === null) {
window.localStorage.setItem('switchState', false);
}
else if (previousState === true) {
if (JSON.parse(window.localStorage.getItem('displayNotification')) === null) {
window.localStorage.setItem('switchState', false);
if (window.navigator.platform.toUpperCase().indexOf('WIN') >= 0) {
window.localStorage.setItem('displayNotification', true);
chrome.tabs.create({
url: 'c2c_options_menu.html'
});
}
}
}
};
/**
* Main function where all the action starts
*/
var main = function() {
firstLaunchExperience();
// Register listener to receive messages
chrome.extension.onMessage.addListener(function(request, sender, sendResponse) {
if (request.op === 'GET_SETTINGS_REQUEST') {
var message = {};
message.switchState = JSON.parse(window.localStorage.getItem('switchState'));
if (message.switchState === null) {
message.switchState = false;
}
if (Configuration.configReady === '0') {
message.switchState = false;
}
message.fingerPrint = Configuration.fingerPrint;
message.metricsUrl = Configuration.metricsUrl;
message.lookupHost = Configuration.lookupHost;
message.pushToMobileUrl = Configuration.pushToMobileUrl;
message.uiId = Configuration.uiId;
sendResponse(message);
}
else if (request.op === 'SET_SETTINGS_REQUEST') {
// Save the settings
window.localStorage.setItem('switchState', request.switchState);
// Inform all tabs about change in settings
request.fingerPrint = Configuration.fingerPrint;
request.metricsUrl = Configuration.metricsUrl;
request.uiId = Configuration.uiId;
chrome.tabs.query({}, function(tabs) {
for (var i = 0; i < tabs.length; ++i) {
chrome.tabs.sendMessage(tabs[i].id, request);
}
});
}
else if (request.op === 'MENU_OPTION_CLICK') {
var data = {
chosenFunction: request.option,
url: request.url.split('?')[0].split('#')[0]
};
postMetrics('extension_state', data);
}
});
// Query configuration from PNR service
queryConfig();
};
main();
c2c_options_handler_script.js
'use strict';
// This method adds appropriate event handlers for each of the UI elements in the options menu
// Options menu is written in html in c2c_options_menu.html
function addEventHandlers() {
document.addEventListener('DOMContentLoaded', function() {
localizer.loadLocalizedResources();
var switchHighlightElement = document.getElementById('switchHighlight');
var notification = document.getElementById('notification');
if (JSON.parse(window.localStorage.getItem('switchState')) === false) {
if (JSON.parse(window.localStorage.getItem('displayNotification')) === true) {
document.getElementById('notification').classList.remove('noDisplay');
window.localStorage.setItem('displayNotification', false);
}
}
switchHighlightElement.addEventListener('click', function() { switchHighlightHandler(switchHighlightElement.checked); });
});
}
// Handle the switch on/off highlight event from UI
// Send the message to background script to store the settings
function switchHighlightHandler(onOffState) {
var message = {};
message.op = 'SET_SETTINGS_REQUEST';
message.switchState = onOffState;
chrome.extension.sendMessage(message);
}
// Sets the highlighting on/off check box state
function setSwitchState(message) {
if (message.switchState === false) {
document.getElementById("switchHighlight").checked = false;
}
else {
document.getElementById("switchHighlight").checked = true;
}
}
function main() {
// Add event handlers for UI elements
addEventHandlers();
// Update the settings displayed in the panel to match the stored settings
chrome.extension.sendMessage({op: 'GET_SETTINGS_REQUEST'}, function(message) {
setSwitchState(message);
});
}
main();
c2c_options_menu.html
<!DOCTYPE html>
<html>
<head>
<title>Skype</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="c2c_options_menu.css"/>
<script src="c2c_options_menu_localization.js"></script>
<script src="c2c_options_handler_script.js"></script>
</head>
<body>
<header>
<div id="notification" class="info noDisplay">
<img src="info.png" alt="">
<span class="message">Number highlighting has been turned off. To enable number highlighting, please check the '<strong>Turn number highlighting on</strong>' option below.</span>
</div>
</header>
<div class="body">
<div class="title">
<div class="logo">
<img src="skypelogo_128.png" alt="Skype">
</div>
<div class="info">
<div class="heading">
<h1>Skype</h1>
</div>
<div class="company-branding">
<strong>By Microsoft Corporation</strong>
</div>
</div>
</div>
<div class="about">
<div class="description">
<p>
Install the Skype extension for fast access to 'Skype for Web' and 'Share on Skype' through your browser.
<BR/>
We'll be adding more features and supporting other browsers in future releases.
<BR/><BR/>
<B>Share on Skype</B>
<BR/>
Read a good article? Now you can share the web page directly with your Skype contacts using the Skype extension. Click on 'Share on Skype' to get started.
<BR/><BR/>
<B>Launch Skype</B>
<BR/>
Access the full Skype functionality offered by the Skype web client. Click on 'Launch Skype' to get started.
<BR/><BR/>
Please note that audio and video calling on Skype web client is currently not supported on Chrome OS and Linux.
</p>
</div>
<a href="https://go.skype.com/skype.extension.faq" target="_blank">Learn more</a> <span>about the Skype Extension</p>
<hr>
<div class="click-to-call">
<p>Enhance this extension by installing <a href="https://go.skype.com/ctc.features" target="_blank">Skype Click to Call</a> on Windows</p>
<label>
<input id="switchHighlight" type="checkbox" name="checkbox" value="On"/>
<span id="switchHighlightLabel">Turn number highlighting on</span>
</label>
<br/><br/>
<a href="https://support.skype.com/category/SKYPE_CALLS_FROM_BROWSERS/" target="_blank">Learn more</a> <span>about Skype Click to Call </p>
</div>
</div>
</div>
<footer></footer>
</body>
</html>
好的,我完全忘記了有一個由微軟提出的叫做Skype Click to Call的應用程序,它與Skype的網絡擴展密切合作。他們不再支持它,所以我不能正式下載他們的網站,但發現該軟件關閉softpedia。
數字ARE現在被強調,但沒有功能。它不會叫任何東西,它只是亮點。似乎我不能添加一個鏈接到Skype點擊通話軟件。
該軟件也不斷隨機卸載。
另一次,請[編輯]您的問題而不是[刪除它](http://webcache.googleusercontent.com/search q =緩存:計算器。com/questions/40246588/skype-web-extension-editing-help-need-this-extension-to-highlight-numbers-for)並再次詢問。如果你做了足夠多的次數,你最終可能會被禁止提問(特別是如果問題的投票數是負值)。 – Makyen
請將[問題]置於主題上:包括一個重複問題的**完整** [mcve]。通常包括一個* manifest.json *,一些背景*和*內容腳本。尋求調試幫助的問題(「**爲什麼不是這個代碼工作?」)必須包括:►期望的行爲,►特定問題或錯誤*和*►在問題中重現問題所需的最短代碼**本身**。沒有明確問題陳述的問題對其他讀者無益。請參閱:「**如何創建[mcve] **」,[我可以在此處詢問哪些主題?](http://stackoverflow.com/help/on-topic)和[問]。 – Makyen
A * manifest.json *是Chrome擴展的一個非常重要的部分。它定義了一切事物如何結合在一起,以及擴展可以做什麼等等。你在最後一個問題上被問到了這一點。請在這裏包含你的* manifest.json *。 – Makyen