summaryrefslogtreecommitdiff
path: root/plugins/af_zz_noautoplay
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2015-07-31 13:42:22 +0300
committerAndrew Dolgov <[email protected]>2015-07-31 13:42:22 +0300
commit1dbc8d6062e3784cc9fe0637c70f461a2047af2e (patch)
treea9e5d53c89f5f750e9e907ac13e9a069d09af974 /plugins/af_zz_noautoplay
parentd8e8e24e34463bd5b7f0f76ca290a3a1e4a5f2c7 (diff)
add af_zz_noautoplay plugin
Diffstat (limited to 'plugins/af_zz_noautoplay')
-rw-r--r--plugins/af_zz_noautoplay/init.js40
-rw-r--r--plugins/af_zz_noautoplay/init.php24
2 files changed, 64 insertions, 0 deletions
diff --git a/plugins/af_zz_noautoplay/init.js b/plugins/af_zz_noautoplay/init.js
new file mode 100644
index 000000000..9b7bf0077
--- /dev/null
+++ b/plugins/af_zz_noautoplay/init.js
@@ -0,0 +1,40 @@
+dojo.addOnLoad(function() {
+ PluginHost.register(PluginHost.HOOK_ARTICLE_RENDERED_CDM, function(row) {
+ if (row) {
+ console.log("af_zz_noautoplay!");
+ console.log(row);
+
+ var videos = row.getElementsByTagName("video");
+ console.log(row.innerHTML);
+
+ for (i = 0; i < videos.length; i++) {
+
+ videos[i].removeAttribute("autoplay");
+ videos[i].pause();
+ videos[i].onclick = function() {
+ this.paused ? this.play() : this.pause();
+ }
+ }
+ }
+
+ return true;
+ });
+
+ PluginHost.register(PluginHost.HOOK_ARTICLE_RENDERED, function(row) {
+ if (row) {
+ var videos = row.getElementsByTagName("video");
+
+ for (i = 0; i < videos.length; i++) {
+ videos[i].removeAttribute("autoplay");
+ videos[i].pause();
+ videos[i].onclick = function() {
+ this.paused ? this.play() : this.pause();
+ }
+ }
+
+ }
+
+ return true;
+ });
+
+}); \ No newline at end of file
diff --git a/plugins/af_zz_noautoplay/init.php b/plugins/af_zz_noautoplay/init.php
new file mode 100644
index 000000000..a36dafa96
--- /dev/null
+++ b/plugins/af_zz_noautoplay/init.php
@@ -0,0 +1,24 @@
+<?php
+class Af_Zz_NoAutoPlay extends Plugin {
+ private $host;
+
+ function about() {
+ return array(1.0,
+ "Don't autoplay HTML5 videos",
+ "fox");
+ }
+
+ function init($host) {
+ $this->host = $host;
+ }
+
+ function get_js() {
+ return file_get_contents(__DIR__ . "/init.js");
+ }
+
+ function api_version() {
+ return 2;
+ }
+
+}
+?>