贡献一个linux.do帖子内随机抽(跳转)楼层的js代码段,可用于抽奖

看到有佬在抽奖,因为论坛暂无抽奖功能,本小白贡献一个随机跳转楼层的js代码段吧,可以用来抽奖用。

如有需要请自取,直接放在控制台里回车就行了。


随机跳转楼层代码,控制台直接用
function fetchChoujiang() {
    // 使用URL对象处理当前URL
    const currentUrl = new URL(window.location.href);
    // 检查当前URL是否以.json结尾,如果不是,则添加.json扩展名
    const jsonUrl = currentUrl.pathname.endsWith('.json') ? currentUrl.href : currentUrl.href + '.json';

    // 使用fetch获取JSON数据
    fetch(jsonUrl)
        .then(response => {
            // 检查响应状态码,如果是OK,则返回response.json(),否则抛出错误
            if (!response.ok) {
                throw new Error(`HTTP error! status: ${response.status}`);
            }
            return response.json();
        })
        .then(data => {
            // 检查data.posts_count是否存在且为数字
            if (data && typeof data.posts_count === 'number' && !isNaN(data.posts_count)) {
                const posts_count = data.posts_count - 1;
                // 生成随机数
                const random_loft = Math.floor(Math.random() * (posts_count + 1));
                console.log(random_loft);

                // 更新URL的最后一部分
                const list1 = currentUrl.pathname.split("/");
                if(list1[list1.length - 2]=="topic"){list1.push(random_loft);};
                if(list1[list1.length - 3]=="topic"){list1[list1.length - 1] = random_loft;};
                

                // 生成新的URL
                const newUrl = list1.join("/");

                // 导航到新的URL
                window.location.assign(newUrl);
            } else {
                console.error('Invalid or missing posts_count in data');
            }
        })
        .catch(error => {
            console.error('Error fetching data:', error);
        });
};

fetchChoujiang();
9 个赞

啥都搞起来了

2 个赞

本站都可以开个应用商店板块了 :joy:

8 个赞

啥时候开通直播带货 :pleading_face:

2 个赞

有点意思

2 个赞

论坛只要有缺的功能就有大佬贡献出来

2 个赞

有点意思

9 个赞

我来提供奖品 :joy:

2 个赞

你直接去赏金猎人开贴搞抽奖吧 赏金猎人

8 个赞

主要是没法看到操作过程,保证公平性还得录像。

2 个赞

互赞

2 个赞

牛哇

27 个赞

提供的啥奖品呢

谁发起个抽奖,我参与参与

大佬太强了

1 个赞

哈哈 :cow:

1 个赞

什么时候开始造水滴
:dog: :dog: :dog:

1 个赞

论坛缺啥,大佬们就直接上手实现 :nerd_face: :hear_no_evil: