Browse Source

Badge number sometimes disappeared in Safari

pull/2/head
Deathamns 10 years ago
committed by gorhill
parent
commit
4df265b15f
  1. 20
      src/js/vapi-client.js

20
src/js/vapi-client.js

@ -187,6 +187,9 @@ if (window.chrome) {
return; return;
} }
var beforeLoadEvent = document.createEvent('Event');
beforeLoadEvent.initEvent('beforeload');
var linkHelper = document.createElement('a'); var linkHelper = document.createElement('a');
var onBeforeLoad = function(e, details) { var onBeforeLoad = function(e, details) {
if (e.url && e.url.slice(0, 5) === 'data:') { if (e.url && e.url.slice(0, 5) === 'data:') {
@ -274,8 +277,6 @@ if (window.chrome) {
document.removeEventListener('DOMSubtreeModified', firstMutation, true); document.removeEventListener('DOMSubtreeModified', firstMutation, true);
firstMutation = null; firstMutation = null;
var randomEventName = parseInt(Math.random() * 1e15, 10).toString(36); var randomEventName = parseInt(Math.random() * 1e15, 10).toString(36);
var beforeLoadEvent = document.createEvent('Event');
beforeLoadEvent.initEvent('beforeload');
window.addEventListener(randomEventName, function(e) { window.addEventListener(randomEventName, function(e) {
var result = onBeforeLoad(beforeLoadEvent, e.detail); var result = onBeforeLoad(beforeLoadEvent, e.detail);
@ -342,6 +343,21 @@ if (window.chrome) {
}; };
window.addEventListener('contextmenu', onContextMenu, true); window.addEventListener('contextmenu', onContextMenu, true);
window.addEventListener('mouseup', function(e) {
if (e.button !== 1) {
return;
}
e = document.evaluate('ancestor-or-self::a[@href]', e.target, null, 9, null).singleNodeValue;
if (e && /^https?:$/.test(e.protocol)) {
safari.self.tab.canLoad(beforeLoadEvent, {
middleClickURL: e.href,
timeStamp: Date.now()
});
}
}, true);
} }
})(); })();
Loading…
Cancel
Save