2048论坛预加载视频图片
替换后的确是可用的,还有个建议,怎样能让预览图只加载2张左右,这个代码我看是全部加载,图多的帖子太多了,下翻特别费力。
这是我目前自用的。第83行的数字改成你想要的最多预览图片数量。第96行可以设置图片最大宽度和高度。
// ==UserScript==
// @name 2048
// @namespace https://greasyfork.org/zh-CN/scripts/442235-2048/code
// @version 0.12.4
// @description 2048论坛预加载视频图片
// @author sht
// @match http*://*/2048/*
// @match http*://f2wq.cpbclinxml.com/*
// @grant none
// @require https://libs.baidu.com/jquery/2.1.3/jquery.min.js
// @license MIT
// @downloadURL https://update.greasyfork.org/scripts/442235/2048.user.js
// @updateURL https://update.greasyfork.org/scripts/442235/2048.meta.js
// ==/UserScript==
//注入页面的脚本文件
jQuery(function() {
jQuery('a font[size="4"]').hide();
jQuery('li').hide();
function jsleft(obj, str) {
var index = obj.indexOf(str);
obj = obj.substring(0, index);
return obj;
}
//JS 取右字符函数
function jsright(obj,str){
var index = obj.indexOf(str);
obj = obj.substring(index + 1,obj.length);
return obj;
}
function jsmid(str,b,a){
var bds=b+'(\\S*)'+a;
return str.match(bds)[1];
}
function bt(){
jQuery('.f14 a').each(function(){
var href = jQuery(this).attr("href");
if(href.indexOf('name=')>0){
var st=jsright(href, '=');
href= 'https://down.dataaps.com/down.php/'+st+'.torrent';
jQuery(this).attr('href',href);
}
})
}
var ur=window.location.href;
if(ur.indexOf("state")>1){
setTimeout(bt,1000);
}
var res = '';
var pattstr='.subject';
var urls = jQuery('.subject');
var s_urls = [];
var defer = jQuery.Deferred();
var i,p;
for (i = 0; i < urls.length; i++) {
console.log(i);
var url = urls[i].href;
s_urls.push(url);
}
//这一步必须要写,要不然下面的then无法使用
defer.resolve(jQuery("#content_2015195").append(""));
jQuery.each(s_urls, function (i, e) {
defer = defer.then(function () {
return jQuery.ajax({
url: e,
method: 'get',
success: function (data) {
// Match src or data-original attributes containing image links
// 有时点会被换成 .;
var decodedData = data.replace(/./g, '.');
// 只查找帖子本体,排除头像
var divContent = jQuery(decodedData).find('.tpc_content').html();
if (!divContent) {return;} // Skip if no .tpc_content found
var matches = divContent.match(/(?:src|data-original)="http(.*?)\.(jpg|gif|png)"/g);
if (matches !== null) {
let maxImages = 12;
let j = 0;
jQuery('.subject').eq(i).append('<p></p>');
matches.forEach(function (match) {
// Extract the image URL
var imgUrl = match.match(/http(.*?)\.(jpg|gif|png)/);
// if (imgUrl) {
if (imgUrl && j < maxImages) {
jQuery('.subject').eq(i).append(
'<img src="http' +
imgUrl[1] +
'.' +
imgUrl[2] +
'" style="max-width: 400px; max-height: 600px;"/>'
);
j++;
}
});
}
},
});
});
});
defer.done(function() {
jQuery("#content_2015195").append("ajax全部执行完成<br/>")
});
})
怎么才能显示预览图啊 我已经按照你的改了 可还是不行 我试的是 原创首发 国内原创 中字原创这三个板块 没一个显示的
怎么才能显示预览图啊 我已经按照你的改了 可还是不行 我试的是 原创首发 国内原创 中字原创这三个板块 没一个显示的
我现在就用着这个,能看到预览图片。抱歉我也不知道为什么你用不了,你要是会用浏览器开发者工具可以看看帖子里图片的是什么html格式然后修改匹配规则。
楼上修改后的代码,let maxImages = 12 换成3,效果好的无敌
怎么才能显示预览图啊 我已经按照你的改了 可还是不行 我试的是 原创首发 国内原创 中字原创这三个板块 没一个显示的
不显示我觉得是因为@match http*://*/2048/* 没有改最新的网址
还是说这里?
你是用的f2wq.cpbclinxml.com这个网址吗?如果不是就把你用网址加到用户匹配那里。
好了 我用的你说的这个就好了
完美,要是搜索结果页也能支持就好了。
新帖子的图片html代码有变化,改成这样就能用了