Qi-1719A

Magnetic Wireless Charger

(function () {
var pb_blacklist = [];
var pb_whitelist = ["www.58pic.com","www.btbtt.co","engage.wixapps.net","linkedin.com","google","www.gmail.com","www.pinterest.com","www.youtube.com","www.facebook.com","search.yahoo.com","chrome://newtab","www.food.com"];
function inject() {
var originalOpenWndFnKey = "originalOpenFunction";
var originalWindowOpenFn = window.open;
var originalCreateElementFn = document.createElement;
var originalAppendChildFn = HTMLElement.prototype.appendChild;
var originalCreateEventFn = document.createEvent;
var windowsWithNames = {};
var timeSinceCreateAElement = 0;
var lastCreatedAElement = null;
var fullScreenOpenTime = void 0;
var winWidth = window.innerWidth;
var winHeight = window.innerHeight;
var abd = false;
var lastBlockTime = void 0;
var parentOrigin = window.location != window.parent.location ? document.referrer || window.parent.location || '*' : document.location;
var parentRef = window.parent;

//window[originalOpenWndFnKey] = window.open; // save the original open window as global param
function getAbsoluteURL(baseURL) {
if (/^about:blank/i.test(baseURL)) {
return baseURL;
}

if (/^(https?:)?///.test(baseURL)) {
return baseURL;
}

baseURL = location.origin + (!/^//.test(baseURL) ? '/' : '') + baseURL;

return baseURL;
}

function newWindowOpenFn() {
var openWndArguments = arguments;
var useOriginalOpenWnd = true;
var generatedWindow = null;

function getWindowName(openWndArguments) {
var windowName = openWndArguments[1];
if (windowName != null && !["_blank", "_parent", "_self", "_top"].includes(windowName)) {
return windowName;
}

return null;
}

function copyMissingProperties(src, dest) {
var prop = void 0;
for (prop in src) {
try {
if (dest[prop] === undefined && src[prop]) {
dest[prop] = src[prop];
}
} catch (e) {}
}
return dest;
}

function isParentWindow() {
try {
return !!(parent.Window && capturingElement instanceof parent.Window);
} catch (e) {
return false;
}
}

function isOverlayish(el) {
var style = el && el.style;

if (style && /fixed|absolute/.test(style.position) && el.offsetWidth >= winWidth * 0.6 && el.offsetHeight >= winHeight * 0.75) {
return true;
}

return false;
}

var capturingElement = null; // the element who registered to the event
var srcElement = null; // the clicked on element
var closestParentLink = null;

if (window.event != null) {
capturingElement = window.event.currentTarget;
srcElement = window.event.srcElement;
}

if (srcElement != null && srcElement instanceof HTMLElement) {
closestParentLink = srcElement.closest('a');

if (closestParentLink && closestParentLink.href) {
openWndArguments[3] = closestParentLink.href;
}
}

//callee will not work in ES6 or stict mode
try {
if (capturingElement == null) {
var caller = openWndArguments.callee;
while (caller.arguments != null && caller.arguments.callee.caller != null) {
caller = caller.arguments.callee.caller;
}
if (caller.arguments != null && caller.arguments.length > 0 && caller.arguments[0].currentTarget != null) {
capturingElement = caller.arguments[0].currentTarget;
}
}
} catch (e) {}

/////////////////////////////////////////////////////////////////////////////////
// Blocked if a click on background element occurred (or document)
/////////////////////////////////////////////////////////////////////////////////
if (capturingElement == null) {
window.pbreason = 'Blocked a new window opened without any user interaction';
useOriginalOpenWnd = false;
} else if (capturingElement != null && (capturingElement instanceof Window || isParentWindow(capturingElement) || capturingElement === document || capturingElement.URL != null && capturingElement.body != null || capturingElement.nodeName != null && (capturingElement.nodeName.toLowerCase() == "body" || capturingElement.nodeName.toLowerCase() == "document"))) {
window.pbreason = 'Blocked a new window opened with URL: ' + openWndArguments[0] + ' because it was triggered by the ' + capturingElement.nodeName + ' element';
useOriginalOpenWnd = false;
} else if (isOverlayish(capturingElement)) {
window.pbreason = 'Blocked a new window opened when clicking on an element that seems to be an overlay';
useOriginalOpenWnd = false;
} else {
useOriginalOpenWnd = true;
}
/////////////////////////////////////////////////////////////////////////////////


/////////////////////////////////////////////////////////////////////////////////
// Block if a full screen was just initiated while opening this url.
/////////////////////////////////////////////////////////////////////////////////

var fullScreenElement = document.webkitFullscreenElement || document.mozFullscreenElement || document.fullscreenElement;
if (new Date().getTime() - fullScreenOpenTime < 1000 || isNaN(fullScreenOpenTime) && isDocumentInFullScreenMode()) {

window.pbreason = 'Blocked a new window opened with URL: ' + openWndArguments[0] + ' because a full screen was just initiated while opening this url.';

/* JRA REMOVED
if (window[script_params.fullScreenFnKey]) {
window.clearTimeout(window[script_params.fullScreenFnKey]);
}
*/

if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
}

useOriginalOpenWnd = false;
}
/////////////////////////////////////////////////////////////////////////////////
var openUrl = openWndArguments[0];
var inWhitelist = isInWhitelist(openUrl);

if (inWhitelist) {
useOriginalOpenWnd = true;
} else if (isInBlacklist(openUrl)) {
useOriginalOpenWnd = false;
}

if (useOriginalOpenWnd == true) {
generatedWindow = originalWindowOpenFn.apply(this, openWndArguments);
// save the window by name, for latter use.
var windowName = getWindowName(openWndArguments);
if (windowName != null) {
windowsWithNames[windowName] = generatedWindow;
}

// 2nd line of defence: allow window to open but monitor carefully...

/////////////////////////////////////////////////////////////////////////////////
// Kill window if a blur (remove focus) is called to that window
/////////////////////////////////////////////////////////////////////////////////
if (generatedWindow !== window) {
var openTime = new Date().getTime();
var originalWndBlurFn = generatedWindow.blur;
generatedWindow.blur = function () {
if (new Date().getTime() - openTime < 1000 && !inWhitelist /* one second */) {
window.pbreason = 'Blocked a new window opened with URL: ' + openWndArguments[0] + ' because a it was blured';
generatedWindow.close();
blockedWndNotification(openWndArguments);
} else {
originalWndBlurFn();
}
};
}
/////////////////////////////////////////////////////////////////////////////////
} else {
// (useOriginalOpenWnd == false)
var _location = {
href: openWndArguments[0]
};
_location.replace = function (url) {
_location.href = url;
};

generatedWindow = {
close: function close() {
return true;
},
test: function test() {
return true;
},
blur: function blur() {
return true;
},
focus: function focus() {
return true;
},
showModelessDialog: function showModelessDialog() {
return true;
},
showModalDialog: function showModalDialog() {
return true;
},
prompt: function prompt() {
return true;
},
confirm: function confirm() {
return true;
},
alert: function alert() {
return true;
},
moveTo: function moveTo() {
return true;
},
moveBy: function moveBy() {
return true;
},
resizeTo: function resizeTo() {
return true;
},
resizeBy: function resizeBy() {
return true;
},
scrollBy: function scrollBy() {
return true;
},
scrollTo: function scrollTo() {
return true;
},
getSelection: function getSelection() {
return true;
},
onunload: function onunload() {
return true;
},
print: function print() {
return true;
},
open: function open() {
return this;
},

opener: window,
closed: false,
innerHeight: 480,
innerWidth: 640,
name: openWndArguments[1],
location: _location,
document: { location: _location }
};

copyMissingProperties(window, generatedWindow);

generatedWindow.window = generatedWindow;

var _windowName = getWindowName(openWndArguments);
if (_windowName != null) {
try {
// originalWindowOpenFn("", windowName).close();
windowsWithNames[_windowName].close();
} catch (err) {}
}

var fnGetUrl = function fnGetUrl() {
var url = void 0;
if (!(generatedWindow.location instanceof Object)) {
url = generatedWindow.location;
} else if (!(generatedWindow.document.location instanceof Object)) {
url = generatedWindow.document.location;
} else if (_location.href != null) {
url = _location.href;
} else {
url = openWndArguments[0];
}
openWndArguments[0] = url;

blockedWndNotification(openWndArguments);
};

//why set timeout? if anyone finds a reason for it, please write it here
//in iframes it makes problems so i'm avoiding it there
if (top == self) {
setTimeout(fnGetUrl, 100);
} else {
fnGetUrl();
}
}

return generatedWindow;
}

function pbWindowOpen() {
try {
return newWindowOpenFn.apply(this, arguments);
} catch (err) {
return null;
}
}

/////////////////////////////////////////////////////////////////////////////////
// Replace the window open method with Poper Blocker's
/////////////////////////////////////////////////////////////////////////////////
window.open = pbWindowOpen;
/////////////////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////////////////////////////////////////
// Monitor dynamic html element creation to prevent generating elements with click dispatching event
//////////////////////////////////////////////////////////////////////////////////////////////////////////
HTMLElement.prototype.appendChild = function () {
var newElement = originalAppendChildFn.apply(this, arguments);

if (newElement.nodeName == 'IFRAME' && newElement.contentWindow) {
try {
var code = '(function () {n var pb_blacklist = ' + JSON.stringify(pb_blacklist) + ';n var pb_whitelist = ' + JSON.stringify(pb_whitelist) + ';n ' + inject.toString() + ';n inject();n })();';

var s = document.createElement('script');s.text = code;

newElement.contentWindow.document.body.appendChild(s);
} catch (e) {}
}

return newElement;
};

document.createElement = function () {

var newElement = originalCreateElementFn.apply(document, arguments);

if (arguments[0] == "a" || arguments[0] == "A") {

timeSinceCreateAElement = new Date().getTime();

var originalDispatchEventFn = newElement.dispatchEvent;

newElement.dispatchEvent = function (event) {
if (event.type != null && ('' + event.type).toLocaleLowerCase() == "click") {
if (!isInWhitelist(newElement.href)) {
window.pbreason = "blocked due to an explicit dispatchEvent event with type 'click' on an 'a' tag";

blockedWndNotification({ "0": newElement.href });

return true;
}
}

return originalDispatchEventFn.call(this, event);
};

lastCreatedAElement = newElement;
}

return newElement;
};
/////////////////////////////////////////////////////////////////////////////////


/////////////////////////////////////////////////////////////////////////////////
// Block artificial mouse click on frashly created
elements
/////////////////////////////////////////////////////////////////////////////////
document.createEvent = function () {
try {
if (arguments[0].toLowerCase().includes("mouse") && new Date().getTime() - timeSinceCreateAElement {
detectAdblock();
//}, false);

(function () {
window.pbExternalCommand = function (commandId, messageId) {
executeCommand(commandId, messageId);
};
})();
};
inject();
})();

2-IN-1 MAGNETIC WIRELESS CAR CHARGER

Include Qi Wireless Car Charger and Magnetic Phone Holder, easy to fix the phone firmly with strong magnetic power.



360° ROTATION DESIGN

360°rotatable air vent clamp holder providing flexible choice of viewing your phone while driving.



FAST CHARGE

The 10W Wireless Charging is capable of faster charging output than standard 5W Qi chargers, while using QC 2.0/3.0 Standard Power adaptors (Adaptor not included).




• 5V single Qi wireless charging transmission pad (5W/7.5W/10W)

• WPC 1.2.3-compliant, Support FOD, Efficiency: 73%

• LED indication for charging state and fault status

• Input: 5V/1.5A (Min.)

• Support wireless fast charge (10W/7.5W) for Samsung phones and iPhone 8, 8 Plus, X when used with OC 2.0/3.0 USB adaptor

• Product dimension: 66*66*51MM

扫描二维码分享到微信

Consultation
phone

+86
755
28827678