0 && arguments[0] !== undefined ? arguments[0] : '[data-cmp]';\n var attr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'data-cmp';\n document.querySelectorAll(selector).forEach(function (source) {\n var tag = document.createElement('script');\n var src = source.dataset.src || '';\n source.getAttributeNames().filter(function (prop) {\n return attr !== prop && 'data-src' !== prop && 'data-async' !== prop;\n }).forEach(function (prop) {\n tag.setAttribute(prop, source.getAttribute(prop));\n });\n if (src) {\n tag.src = src;\n tag.async = source.dataset.async !== 'false';\n }\n tag.innerHTML = source.innerHTML;\n source.parentNode.insertBefore(tag, source);\n source.remove();\n });\n}\n\n//# sourceURL=webpack:///./lazy-script-loader.js?\n}")},"./loader-after-init.js"(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lazy_script_loader__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lazy-script-loader */ \"./lazy-script-loader.js\");\n/* harmony import */ var _lazy_image_loader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lazy-image-loader */ \"./lazy-image-loader.js\");\n\n\ndocument.addEventListener('DOMContentLoaded', function () {\n var api = window.__tcfapi || null;\n if (!api) {\n return;\n }\n api('addEventListener', 2, function (tcData, success) {\n if (success && tcData && ('tcloaded' === tcData.eventStatus || 'useractioncomplete' === tcData.eventStatus)) {\n (0,_lazy_script_loader__WEBPACK_IMPORTED_MODULE_0__.loadAsyncScripts)('[data-cmp=after-init]');\n (0,_lazy_image_loader__WEBPACK_IMPORTED_MODULE_1__.loadLazyImages)('[data-cmp-lazy-image=after-init]');\n if (tcData.listenerId) {\n api('removeEventListener', 2, function () {}, tcData.listenerId);\n }\n }\n });\n});\n\n//# sourceURL=webpack:///./loader-after-init.js?\n}")}},__webpack_module_cache__={};function __webpack_require__(e){var a=__webpack_module_cache__[e];if(void 0!==a)return a.exports;var r=__webpack_module_cache__[e]={exports:{}};if(!(e in __webpack_modules__)){delete __webpack_module_cache__[e];var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}__webpack_require__.d=(e,a)=>{for(var r in a)__webpack_require__.o(a,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:a[r]})},__webpack_require__.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__=__webpack_require__("./loader-after-init.js")})();
0 && arguments[0] !== undefined ? arguments[0] : '[data-cmp]';\n var attr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'data-cmp';\n document.querySelectorAll(selector).forEach(function (source) {\n var tag = document.createElement('script');\n var src = source.dataset.src || '';\n source.getAttributeNames().filter(function (prop) {\n return attr !== prop && 'data-src' !== prop && 'data-async' !== prop;\n }).forEach(function (prop) {\n tag.setAttribute(prop, source.getAttribute(prop));\n });\n if (src) {\n tag.src = src;\n tag.async = source.dataset.async !== 'false';\n }\n tag.innerHTML = source.innerHTML;\n source.parentNode.insertBefore(tag, source);\n source.remove();\n });\n}\n\n//# sourceURL=webpack:///./lazy-script-loader.js?\n}")},"./loader-not-pur.js"(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lazy_script_loader__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lazy-script-loader */ "./lazy-script-loader.js");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./utils.js");\nfunction _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\n/**\n * @see https://gist.github.com/0x7f/62211125638af90d84fe8d9b0d660761\n * @see https://docs.contentpass.net/docs/3rdparty\n * @see https://docs.contentpass.net/docs/web-sdk#cpauthenticate-options-callback\n */\n\n\n(function () {\n var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \'[data-cmp=not-pur]\';\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_1__.isPur)()) {\n return;\n }\n\n // Execute now\n (0,_lazy_script_loader__WEBPACK_IMPORTED_MODULE_0__.loadAsyncScripts)(selector);\n\n // Execute until dom content is loaded\n var observer = new MutationObserver(function (mutationsList) {\n var _iterator = _createForOfIteratorHelper(mutationsList),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var mutation = _step.value;\n if (\'childList\' === mutation.type) {\n (0,_lazy_script_loader__WEBPACK_IMPORTED_MODULE_0__.loadAsyncScripts)(selector);\n return;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n });\n observer.observe(document, {\n childList: true,\n subtree: true\n });\n document.addEventListener(\'DOMContentLoaded\', function () {\n observer.disconnect();\n });\n})();\n\n//# sourceURL=webpack:///./loader-not-pur.js?\n}')},"./utils.js"(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isPur: () => (/* binding */ isPur)\n/* harmony export */ });\nvar isPur = function isPur() {\n return document.cookie.includes('_cpauthhint=1') || !!localStorage.getItem('_cpuser');\n};\n\n//# sourceURL=webpack:///./utils.js?\n}")}},__webpack_module_cache__={};function __webpack_require__(e){var r=__webpack_module_cache__[e];if(void 0!==r)return r.exports;var t=__webpack_module_cache__[e]={exports:{}};if(!(e in __webpack_modules__)){delete __webpack_module_cache__[e];var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}return __webpack_modules__[e](t,t.exports,__webpack_require__),t.exports}__webpack_require__.d=(e,r)=>{for(var t in r)__webpack_require__.o(r,t)&&!__webpack_require__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},__webpack_require__.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__=__webpack_require__("./loader-not-pur.js")})();
Browser-Erweiterung für Chrome stoppt Autoplay von Videos
Zum Inhalt springen
Das Autoplay-Feature von Video-Clips auf Webseiten lässt sich mit einer kleinen Erweiterung für den Chrome-Browser stoppen. Foto: dpa
TECHBOOK Redaktion
1. April 2017, 9:51 Uhr |
Lesezeit: 1 Minute
Automatisch startende Videos auf Webseiten sind vielen ein Dorn im Auge. Hilfe gibt es von einem Addon für den Chrome-Browser, der kostenlos im Web Store erhältlich ist.
Das kleine Addon „Disable HTML5 Autoplay“ für den Browser Google Chrome sorgt dafür, dass die nervigen Clips auf Webseiten oder im Netzwerk Facebook nur dann starten, wenn Nutzer es wollen.
Ob und wie viele Videos gerade blockiert werden, zeigt die Erweiterung mit einem kleinen Symbol in der Menüleiste des Browsers an. Für akzeptierte Webseiten können Ausnahmen eingerichtet werden. „Disable HTML5 Autoplay“ gibt es kostenlos im Chrome Web Store .
Das Magazin für digitalen Lifestyle und Entertainment