From 416dc23af0a460c0355ece2d23bd705f29fbfc0a Mon Sep 17 00:00:00 2001 From: James Feng Cao Date: Fri, 25 Sep 2020 08:25:08 +0800 Subject: [PATCH] rebuilding site Fri Sep 25 08:25:08 AM CST 2020 --- _posts/index.xml | 2 +- filenames/index.html | 2 +- index.xml | 2 +- links/index.html | 4 +- searchurl/txt/videoplay.js | 75 ++++++++++++++++++++------------------ searchurl/urls.html | 3 -- 6 files changed, 45 insertions(+), 43 deletions(-) diff --git a/_posts/index.xml b/_posts/index.xml index 8bcb850a..96819cf9 100644 --- a/_posts/index.xml +++ b/_posts/index.xml @@ -70,7 +70,7 @@ pdf:uweb:echo file:///sdcard/uweb/app/pdf.js/web/viewer.html?file=%u djvu:uweb:e "colors.txt":护眼背景色 "default.css":勾选网址特定样式后无匹配情形下的默认样式 "night.css":夜间模式,代替超微内部实现 -"videoplayer.js":用户定义视频播放 +"bookmarklet/videoplayer.js":用户定义视频播放 "types.sniff":嗅探类型 "sniff.log":嗅探结果 "history.rec":访问历史 diff --git a/filenames/index.html b/filenames/index.html index 2d2d4797..2e0cb743 100644 --- a/filenames/index.html +++ b/filenames/index.html @@ -60,7 +60,7 @@ "colors.txt":护眼背景色
"default.css":勾选网址特定样式后无匹配情形下的默认样式
"night.css":夜间模式,代替超微内部实现
-"videoplayer.js":用户定义视频播放
+"bookmarklet/videoplayer.js":用户定义视频播放
"types.sniff":嗅探类型
"sniff.log":嗅探结果
"history.rec":访问历史
diff --git a/index.xml b/index.xml index 9ab48bb5..75fa5c02 100644 --- a/index.xml +++ b/index.xml @@ -70,7 +70,7 @@ pdf:uweb:echo file:///sdcard/uweb/app/pdf.js/web/viewer.html?file=%u djvu:uweb:e "colors.txt":护眼背景色 "default.css":勾选网址特定样式后无匹配情形下的默认样式 "night.css":夜间模式,代替超微内部实现 -"videoplayer.js":用户定义视频播放 +"bookmarklet/videoplayer.js":用户定义视频播放 "types.sniff":嗅探类型 "sniff.log":嗅探结果 "history.rec":访问历史 diff --git a/links/index.html b/links/index.html index 32cde05c..4cdcdcbb 100644 --- a/links/index.html +++ b/links/index.html @@ -39,8 +39,8 @@ noproxy::010:

"i:"内部链接:
i:16[mimetype]:[Action Name]:[App Name]:[Activity Name]
读取第三方应用输入。
-点击安装 via扫码菜单至常用链接。其它扫描器也都可以使用,只需要把链接里的名字换掉就行。 上面的方案其实不仅可以扫描qr,也可以使用任何第三方应用获得任何种类的数据。其中有uweb表示特殊mimetype,作为url来使用。其他数据类型改成合适的mimetype即可。

-

点击安装酷安扫描至常用链接

+点击安装 via扫码菜单至常用链接。其它扫描器也都可以使用,只需要把链接里的名字换掉就行。 上面的方案其实不仅可以扫描qr,也可以使用任何第三方应用获得任何种类的数据。其中有uweb表示特殊mimetype,作为url来使用。其他数据类型改成合适的mimetype即可。

+

点击安装酷安扫描至常用链接

diff --git a/searchurl/txt/videoplay.js b/searchurl/txt/videoplay.js index 3c566e25..d194e8b9 100644 --- a/searchurl/txt/videoplay.js +++ b/searchurl/txt/videoplay.js @@ -1,6 +1,5 @@ (function(){ /* lib begin */ - function debounce(fn, ms = 0) { let timeoutId; return function(...args) { @@ -73,16 +72,6 @@ function is_parent(ele, parent) { return ele.parentElement === parent; } -function flatten(array) { - if (!Array.isArray(array)) { - return [array]; - } else if (array.length == 0) { - return []; - } else { - return flatten(array[0]).concat(flatten(array.slice(1))); - } -} - function zero_padding(number, length = 2) { return Array(Math.max(length - number.toString().length, 0) + 1).join(0) + number; } @@ -656,29 +645,6 @@ const hook_video_control = hook => { }); }; -function get_frames(window) { - const frames = [window]; - for (let i = 0; i < window.frames.length; i++) { - try { - window.frames[i].document; - } catch { - continue; - } - - frames.push(...get_frames(window.frames[i])) - } - return frames; -} - -function get_videos() { - const frames = get_frames(window); - const frame_video = frame => Array.from(frame.document.querySelectorAll('video')); - const shadow = frame => Array.from(frame.document.querySelectorAll("shadow-output")); - const shadow_video = shadow => Array.from(shadow.shadowRoot.querySelectorAll("video")); - return flatten(frames.map(frame_video) - .concat(frames.map(f => shadow(f).map(shadow_video)))); -} - function find_hook(video) { window.__hook_video__ = window.__hook_video__ || []; const exist_video = window.__hook_video__.find(v => v.video === video); @@ -712,5 +678,44 @@ const hook_video = (video) => { } }; -get_videos().forEach(hook_video); + let videos; + if (document.fullscreen) { + videos = document.fullscreenElement.querySelectorAll('video'); + }else { + function get_frames(window) { + const frames = [window]; + for (let i = 0; i < window.frames.length; i++) { + try { + window.frames[i].document; + } catch { + continue; + } + + frames.push(...get_frames(window.frames[i])) + } + return frames; + } + + function flatten(array) { + if (!Array.isArray(array)) { + return [array]; + } else if (array.length == 0) { + return []; + } else { + return flatten(array[0]).concat(flatten(array.slice(1))); + } + } + + function get_videos() { + const frames = get_frames(window); + const frame_video = frame => Array.from(frame.document.querySelectorAll('video')); + const shadow = frame => Array.from(frame.document.querySelectorAll("shadow-output")); + const shadow_video = shadow => Array.from(shadow.shadowRoot.querySelectorAll("video")); + return flatten(frames.map(frame_video) + .concat(frames.map(f => shadow(f).map(shadow_video)))); + } + videos = get_videos(); + } + + videos.forEach(hook_video); })() diff --git a/searchurl/urls.html b/searchurl/urls.html index f771d6f9..c8a64dde 100644 --- a/searchurl/urls.html +++ b/searchurl/urls.html @@ -48,11 +48,8 @@ epub:file:///sdcard/uweb/app/reader/index.html?bookPath==

视频解析 (UA为PC时无广告):
-60jx:https://60jx.com/?url=
2020jx:https://api.2020jx.com/?url=
-qyly:http://jx.qyly360.com/?url=
iztyy:http://jx.iztyy.com/svip/?url=
-fo97:https://play.fo97.cn/?url=

其中"重定向"由文件default.redirect配置,对"file://"重定向将调用合适编辑器编辑文件。

更多视频服务见: