I used Skype Web solely for its click-to-call purpose. It highlighted phone numbers on web pages/platforms which you can click and instantly call via Skype. Sadly they stopped supporting this 'number highlighting' feature and it's a real hassle to do my job efficiently. Many trucking dispatchers have the same issue with this.
I used this website to find older versions of this extension.
Versions 8.4+ don't have the 'number highlighting' checkbox option, but versions 8.3 and lower do. I figured out a work-around that weirdly worked. (Installed the latest version of the extension, deleted it, then installed version 8.4, deleted it, and finally installed version 8.3. Version 8.3 showed the 'number highlighting option' and if you put a check mark in it, it displayed phone numbers. Going straight from latest to version 8.3 had chrome downgrading errors/issues.)
I'm currently editing version 8.3, but I haven't had much luck. The main files that were requested were these:
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>
Okay so I completely forgot that there was an application made by Microsoft called Skype Click to Call which works closely with the skype web extension. They don't support it anymore so I couldn't download it of their website officially, but found the software off of softpedia.
Numbers ARE being highlighted now, but there is no function to it. It won't call anything, it just highlights. Doesn't seem like I can add a link to the Skype click to call software.
The software also keeps getting uninstalled randomly all by itself.