V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  troilus  ›  全部回复第 1 页 / 共 27 页
回复总数  528
1  2  3  4  5  6  7  8  9  10 ... 27  
8 天前
回复了 kaixinyidian 创建的主题 微信 微信反诈提醒
聊币就别用微信啦
https://www.zhihu.com/question/524364957/answer/3089519980 以及反电信网络诈骗法第 23 条,第 41 条第(五)项。

从监管角度,手机制造商若提供系统级分发、预装、应用市场、推送更新等功能,即属于“互联网服务提供者或电信业务经营者”
@YsHaNg #10 速度太慢了
13 天前
回复了 vansention 创建的主题 程序员 想知道 Tailscale 在中国的可用性
目前连的内外,很稳定,大半年了
13 天前
回复了 stark123 创建的主题 问与答 求推荐: iOS 上免费 好用的水印相机
蹲一个,之前用的快捷指令麻烦
学习了
领了个 40-20
64 天前
回复了 jinreal 创建的主题 Chrome 维基百科中英文页面切换插件
有没有可能用扩展太“重”了,一个油猴脚本:
```
// ==UserScript==
// @name 维基百科跨语言跳转助手(改进版)
// @namespace http://tampermonkey.net/
// @version 1.1
// @description 在维基百科页面显示对应语言版本的链接,从语言链接栏获取准确 URL
// @author ChatGPT
// @match https://zh.wikipedia.org/*
// @match https://en.wikipedia.org/*
// @match https://*.wikipedia.org/*
// @icon https://www.wikipedia.org/static/favicon/wikipedia.ico
// @grant none
// @license MIT
// ==/UserScript==

(function() {
'use strict';

// 添加自定义样式
const style = document.createElement('style');
style.textContent = `
.wp-crosslang-container {
display: inline-block;
margin-left: 12px;
vertical-align: middle;
}

.wp-crosslang-btn {
background: #f8f9fa;
border: 1px solid #a2a9b1;
border-radius: 2px;
padding: 3px 8px;
font-size: 12px;
color: #0645ad;
cursor: pointer;
transition: all 0.2s ease;
text-decoration: none;
display: inline-block;
}

.wp-crosslang-btn:hover {
background: #fff;
border-color: #0645ad;
color: #0645ad;
text-decoration: none;
}

.wp-crosslang-btn:active {
background: #f0f0f0;
}

.wp-crosslang-loading {
opacity: 0.7;
cursor: wait;
}

@media screen and (max-width: 768px) {
.wp-crosslang-container {
display: block;
margin-left: 0;
margin-top: 8px;
}
}
`;
document.head.appendChild(style);

// 获取对应语言的链接
function getLanguageLink(targetLang) {
// 在侧边栏语言列表中找到目标语言链接
const langList = document.querySelector('#p-lang .wbc-editpage, #p-lang .wb-langlinks-link');
if (langList) {
const langLinks = document.querySelectorAll('#p-lang li a');
for (const link of langLinks) {
const href = link.getAttribute('href');
const lang = link.getAttribute('lang') || link.getAttribute('hreflang') || '';
const text = link.textContent.trim();

if (lang === targetLang ||
(targetLang === 'en' && text === 'English') ||
(targetLang === 'zh' && text === '中文')) {
return href;
}
}
}

// 尝试在页面底部的语言链接中找到
const interwikiLinks = document.querySelectorAll('.interlanguage-link a');
for (const link of interwikiLinks) {
const lang = link.getAttribute('lang') || link.getAttribute('hreflang') || '';
const text = link.textContent.trim();
const href = link.getAttribute('href');

if (lang === targetLang ||
(targetLang === 'en' && text === 'English') ||
(targetLang === 'zh' && text === '中文')) {
return href;
}
}

return null;
}

// 获取当前语言和目标语言
function getLanguages() {
const hostname = window.location.hostname;

if (hostname.includes('zh.') || hostname.includes('.zh.')) {
return { current: 'zh', target: 'en', targetName: 'English' };
} else if (hostname.includes('en.') || hostname.includes('.en.')) {
return { current: 'en', target: 'zh', targetName: '中文' };
}

// 默认情况
return { current: 'en', target: 'zh', targetName: '中文' };
}

// 创建跳转按钮
function createJumpButton(href, targetName) {
const container = document.createElement('div');
container.className = 'wp-crosslang-container';

const button = document.createElement('a');
button.className = 'wp-crosslang-btn';
button.href = href;
button.target = '_blank';
button.rel = 'noopener noreferrer';
button.textContent = targetName;

// 添加点击事件
button.addEventListener('click', function(e) {
console.log(`跳转到${targetName}版维基百科`);
});

container.appendChild(button);
return container;
}

// 创建加载中的按钮
function createLoadingButton(targetName) {
const container = document.createElement('div');
container.className = 'wp-crosslang-container';

const button = document.createElement('span');
button.className = 'wp-crosslang-btn wp-crosslang-loading';
button.textContent = `加载${targetName}...`;

container.appendChild(button);
return container;
}

// 主函数
function init() {
// 获取语言信息
const { target, targetName } = getLanguages();

// 获取标题元素
const titleElement = document.querySelector('#firstHeading, .mw-first-heading, .firstHeading, h1');
if (!titleElement) {
console.log('无法找到标题元素');
return;
}

// 先创建加载中的按钮
const loadingButton = createLoadingButton(targetName);
titleElement.appendChild(loadingButton);

// 尝试获取语言链接
const langLink = getLanguageLink(target);

if (langLink) {
// 移除加载按钮,添加实际链接按钮
titleElement.removeChild(loadingButton);
const button = createJumpButton(langLink, targetName);
titleElement.appendChild(button);
} else {
// 没有找到对应语言链接,更新按钮状态
loadingButton.querySelector('span').textContent = `无${targetName}版本`;
loadingButton.querySelector('span').classList.remove('wp-crosslang-loading');
}
}

// 页面加载完成后执行
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', init);
} else {
init();
}
})();
```
维护阶级利益而已
64 天前
回复了 abbb 创建的主题 问与答 如何拦截凤凰网底部广告
自己 F12 调调布局,调正常了后, 把你调的方法让 ai 写个油猴
64 天前
回复了 tog 创建的主题 iOS 苹果系统天气预报是不是不准的?
windy 和 bing 的效果要好点
Nokia 6030
99 天前
回复了 RavelloH 创建的主题 分享创造 分享一个已运行 3 年的每日 60s 新闻站
@RavelloH nice !
99 天前
回复了 RavelloH 创建的主题 分享创造 分享一个已运行 3 年的每日 60s 新闻站
@RavelloH 就每天一条就行啦,当天的新闻
99 天前
回复了 RavelloH 创建的主题 分享创造 分享一个已运行 3 年的每日 60s 新闻站
可以支持 rss 订阅吗
@pkoukk #62 好多是蹭流量的。。
跑外卖,
112 天前
回复了 admirez 创建的主题 问与答 有推荐的听广播电台的 app 和电台吗
官方的云听
在网络测去看设备联网记录
1  2  3  4  5  6  7  8  9  10 ... 27  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   915 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 35ms · UTC 21:40 · PVG 05:40 · LAX 14:40 · JFK 17:40
♥ Do have faith in what you're doing.