iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 22
0
Modern Web

弄點簡單的 Chrome Extension 讓生活更方便系列 第 22

Chrome Extension 22 - Youtube 筆記功能 Part 3 改使用 vue 顯示

  • 分享至 

  • xImage
  •  

後來找到其他可以抓到影片當前位置的方法 :

var video = document.getElementsByClassName('video-stream')[0];
console.log(video.currentTime);

停止影片的指令 :

document.querySelector('.ytp-play-button').click();

所以改寫 src\content\inject.js 部分 :

var div = document.createElement( 'div' );
var btn = document.createElement( 'input' );
btn.id = "mybutton";
//append all elements
document.body.appendChild( div );
div.appendChild( btn );
//set attributes for div
div.id = 'myDivId';
div.style.position = 'fixed';
div.style.top = '75px';
div.style.right = '5px';
div.style.backgroundColor = 'green';

btn.type = 'button';
btn.value = '顯示視窗';
btn.style.position = 'absolute';
btn.style.top = '0px';
btn.style.right = '0px';
$('#mybutton').click(function(){
    document.querySelector('.ytp-play-button').click();
});

(function () { 
    let animationTimer = setInterval(function() {
        var video = document.getElementsByClassName('video-stream')[0];  
        $('#mybutton').val(video.currentTime.toString());
    }, 1000);
})(); 

會持續更新影格,按下按鈕會停止或撥放影片
https://ithelp.ithome.com.tw/upload/images/20181106/20094223vR1xdP5l5p.png

https://ithelp.ithome.com.tw/upload/images/20181106/20094223ur6bgwMPaq.png

接著 改使用 vue

修正 src\content\inject.js

var div = document.createElement( 'div' );
document.body.appendChild( div );

div.id="root";

import Vue from 'vue'
import root from './content.vue'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'

Vue.config.productionTip = false
Vue.use(ElementUI)
/* eslint-disable no-new */
new Vue({
  el: '#root',
  render: h => h(root)
})

然後增加 content.vue 檔案到 content 底下

<template lang="pug">
<el-container style="position : fixed;top : 75px;right : 5px;">
  <el-main>
  <el-button type="success"  @click="play()">播放按鈕</el-button>
    <el-row>
        <span>{{currentTime}}</span>
    </el-row>
  </el-main>
</el-container>
</template>
<script>
  export default {
    data: () => ({
      currentTime : '',
      items :[],
      result : ''
    }),
    computed: { },
    created () { },
    mounted() {
      this.showTime();
    },
    updated() {
    },
    methods: {
    play(){
            document.querySelector('.ytp-play-button').click();
    },
    showTime(){
        var vm = this;
        (function () { 
            let animationTimer = setInterval(function() {
            var video = document.getElementsByClassName('video-stream')[0];  
            vm.currentTime = video.currentTime.toString();
            }, 1000);
        })(); 
    }     
    }
  }
</script>

順利的使用 vue ,youtube 畫面有撥放按鈕,及影片的當前時間 :
https://ithelp.ithome.com.tw/upload/images/20181106/200942237857XUcnni.png

感謝收看 :)


上一篇
Chrome Extension 21 - Youtube 筆記功能 Part 2 - 建立一個區塊
下一篇
Chrome Extension 23 - Youtube 筆記功能 Part 4 完成 vue 的新增訊息操作
系列文
弄點簡單的 Chrome Extension 讓生活更方便30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言