@arturdoruch/browser
Advanced tools
Comparing version 1.0.0 to 1.0.1
@@ -5,4 +5,2 @@ /* | ||
'use strict'; | ||
export default { | ||
@@ -38,45 +36,2 @@ /** | ||
|| /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(userAgent.substr(0,4)); | ||
}, | ||
/** | ||
* Attaches event to the element to open HTML or JSON content in a new browser tab. | ||
* The trigger element must have defined attribute "data-*" with value as id attribute of the element | ||
* with HTML or JSON content to open. | ||
* | ||
* Code example: | ||
* <button data-open-in-browser="html-content-1">Open</button> | ||
* <div id="html-content-1"> | ||
* <ul> | ||
* <li>Item1</li> | ||
* <li>Item2</li> | ||
* </ul> | ||
* </div> | ||
* | ||
* @param {string} [triggerDataAttribute="open-in-browser"] | ||
*/ | ||
attachOpenContentEvent(triggerDataAttribute) { | ||
let dataAttribute = triggerDataAttribute || 'open-in-browser', | ||
dataSetKey = dataAttribute.replace(/-(\w)/g, function (matches) { | ||
return matches[1].toUpperCase(); | ||
}); | ||
let triggers = document.querySelectorAll('*[data-' + dataAttribute + ']'), | ||
handler; | ||
for (const trigger of triggers) { | ||
handler = function () { | ||
let element = document.querySelector('#' + this.dataset[dataSetKey]); | ||
if (!element) { | ||
return; | ||
} | ||
let div = document.createElement('div'); | ||
div.innerHTML = element.innerHTML; | ||
window.open().document.body.innerHTML = div.textContent; | ||
}; | ||
//trigger.removeEventListener('click', handler); | ||
trigger.onclick = handler; | ||
} | ||
} | ||
@@ -83,0 +38,0 @@ }; |
@@ -5,4 +5,2 @@ /* | ||
'use strict'; | ||
/** | ||
@@ -14,2 +12,3 @@ * Browser scroll bar helper. | ||
* Unload browser vertical scroll bar. | ||
* | ||
* @param {boolean} [freezeBody = false] If true prevent to move body in horizontal position, while scroll bar is removed. | ||
@@ -67,7 +66,7 @@ */ | ||
let scrollBarWidth; | ||
let width; | ||
function getWidth() { | ||
if (scrollBarWidth) { | ||
return scrollBarWidth; | ||
if (width) { | ||
return width; | ||
} | ||
@@ -87,11 +86,10 @@ | ||
widthWithoutBar = outerElem.offsetWidth; | ||
// Force scroll bars | ||
// Force to display scroll bar. | ||
outerElem.style.overflow = "scroll"; | ||
outerElem.appendChild(innerElem); | ||
widthWithBar = innerElem.offsetWidth; | ||
// Remove divs | ||
outerElem.parentNode.removeChild(outerElem); | ||
return scrollBarWidth = widthWithoutBar - widthWithBar; | ||
document.body.removeChild(outerElem); | ||
return width = widthWithoutBar - widthWithBar; | ||
} |
@@ -5,5 +5,8 @@ { | ||
"keywords": ["scroll bar", "unload scroll bar", "browser utils"], | ||
"version": "1.0.0", | ||
"license": "MIT", | ||
"version": "1.0.1", | ||
"type": "module", | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/arturdoruch/js-browser" | ||
}, | ||
"author": { | ||
@@ -13,3 +16,3 @@ "name": "Artur Doruch", | ||
}, | ||
"homepage": "https://github.com/arturdoruch/js-browser" | ||
} | ||
"license": "MIT" | ||
} |
# Browser | ||
Browser utilities and helpers. | ||
Browser utilities and helpers. | ||
## Install | ||
``` | ||
yarn add @arturdoruch/browser | ||
``` | ||
## Contents | ||
* browser-utils.js | ||
* getName | ||
* getVersion | ||
* isMobile | ||
* scroll-bar.js | ||
* unload | ||
* load | ||
* getWidth |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No website
QualityPackage does not have a website.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
23
0
6280
131
1