推荐文章

热门文章

  • 贾跃亭回应“下周回国”梗:重返中国有两个前提针对公众对“下周回国”梗的持续质疑,最近贾跃亭首次回应称:重返中国要有两个前提。在接受媒体专访时,贾跃亭表示,两个重返中国的前提是FF在经济基本面和资本基本面都取得实质性成功,使他有条件解决债务问题。 ... 文章阅读
  • 《严阵以待》公布暴力画面调整细则 开发商坚称仅遵守最低合规要求《严阵以待》开发团队近日发布更新公告并公布多组对比截图,以平息玩家对这款暴力射击游戏画面调整的担忧。近日开发商Void Interactive为争取主机版发行资格,对游戏进行了包括"暴力画面表现"在内 ... 文章阅读
  • 《星际:异端先知》或将颠覆传统 用AI生成NPC对话顽皮狗新作《星际:异端先知》将带来前所未有的雄心勃勃体验。尽管目前该作细节不多,但此前有开发者简介暗示有RPG成长系统。最近顽皮狗的新招聘启事也显示,其计划在游戏中使用AI技术,生成NPC对话。顽皮狗 ... 文章阅读
  • 当我U是盘啊!用户手贱弹出显卡:折腾1个小时才修好大家都见过手动弹出U盘,它属于热插拔可移动硬件,但是你见过手动弹出显卡的吗?Reddit网友“YnosNava”就一时好奇+手贱,折腾了自己一把。正常情况下,显卡是不可能作为可移动硬件弹出的,而从Yn ... 文章阅读
  • 分类信息显示《大金刚:蕉力全开》或存在多人游戏模式上个月的任天堂Switch 2直面会以《马里奥赛车:世界》拉开帷幕。这款备受期待的赛车游戏最近一直是任天堂相关讨论的焦点。它将于6月5日与新主机一同发售,其80美元的售价也因高价而备受关注。而今天,有 ... 文章阅读
  • 蓝牙芯片曝重大窃听漏洞!涉及多款大牌耳机音箱德国安全公司ERNW的研究人员发现,络达(Airoha)蓝牙芯片存在三个安全漏洞,这些芯片广泛应用于主流无线耳机和音箱中。攻击者在10-20米范围内可利用这些漏洞实现以下操作:·当设备处于开机但待机状 ... 文章阅读

最新博文


(function(){ function qs(s,root){return (root||document).querySelector(s)}; function qsa(s,root){return Array.prototype.slice.call((root||document).querySelectorAll(s));} var DICT = { home: { zh: '首页', en: 'Home' }, siteHome: { zh: '网站首页', en: 'Home' }, recommended: { zh: '推荐文章', en: 'Featured' }, hot: { zh: '热门文章', en: 'Trending' }, readArticle: { zh: '文章阅读', en: 'Read Article' }, latest: { zh: '最新博文', en: 'Latest Posts' }, readMore: { zh: '阅读更多', en: 'Read more' }, positionNow: { zh: '您现在的位置是:', en: 'You are here: ' }, content: { zh: '正文', en: 'Content' }, related: { zh: '相关文章', en: 'Related' }, tags: { zh: '标签', en: 'Tags' }, keywordsAssistant: { zh: '关键词助手', en: 'Keyword Assistant' }, enterText: { zh: '输入文本', en: 'Enter text' }, extractKeywords: { zh: '提取关键词', en: 'Extract Keywords' }, manualKeywords: { zh: '手动关键词', en: 'Manual keywords' }, applyKeywords: { zh: '应用到页面', en: 'Apply to page' }, manualPlaceholder: { zh: '手动关键词,逗号分隔', en: 'Manual keywords, comma-separated' } }; function getParam(name){try{var u=new URL(location.href);return u.searchParams.get(name)}catch(e){return null}} function detectLocale(){ var forced = getParam('lang') || (typeof localStorage!=='undefined' && localStorage.getItem('lang')); if(forced){return forced==='zh'?'zh':'en'} var nav=(navigator.language||'').toLowerCase(); var tz=''; try{tz=Intl.DateTimeFormat().resolvedOptions().timeZone||''}catch(e){} if(nav.indexOf('zh')===0 || /shanghai|urumqi|chongqing|harbin|beijing|hong_kong|macau/i.test(tz)) return 'zh'; return 'en'; } var LANG = detectLocale(); document.documentElement.setAttribute('lang', LANG==='zh'?'zh-CN':'en'); (function setCL(){ var el = qs('meta[http-equiv="content-language"]'); if(!el){ el=document.createElement('meta'); el.setAttribute('http-equiv','content-language'); document.head.appendChild(el); } el.setAttribute('content', LANG==='zh'?'zh-CN':'en'); })(); function t(key){var m=DICT[key];return m?m[LANG]||m.zh||(''+key):(''+key)} function applyI18n(root){ qsa('[data-i18n]',root).forEach(function(el){ var k=el.getAttribute('data-i18n'); el.textContent=t(k); }); } applyI18n(); // Try to retitle some known headings if present qsa('h2.htitle').forEach(function(h){ // If contains certain keywords, replace text var txt = (h.textContent||'').trim(); if(/推荐|Featured/i.test(txt)) h.textContent=t('recommended'); if(/热门|Trending/i.test(txt)) h.textContent=t('hot'); if(/相关文章|Related/i.test(txt)) h.textContent=t('related'); }); // Insert Keyword Assistant into .searchbox function buildKW(){ var box = qs('.searchbox'); if(!box) return; box.classList.add('modern'); var w = document.createElement('div'); w.className='kw-box'; w.innerHTML = ''+ '
'+ ''+ ''+ '
'+ ''; box.appendChild(w); applyI18n(w); var toggleBtn = qs('#kw-toggle', w); var panel = qs('#kw-assistant', w); toggleBtn.addEventListener('click', function(){ panel.hidden = !panel.hidden; }); var langBtn = qs('#lang-toggle', w); langBtn.addEventListener('click', function(){ var next = LANG==='zh'?'en':'zh'; try{localStorage.setItem('lang', next)}catch(e){} location.search = (function(){var p=new URL(location.href); p.searchParams.set('lang', next); return p.search})()}); var extractBtn = qs('#kw-extract', w); var manualInput = qs('#kw-manual', w); var source = qs('#kw-source', w); var list = qs('#kw-list', w); function getPageText(){ var text=''; var post=qs('#post'); if(post) text += ' '+post.textContent; qsa('.blogtitle a, .blogtext, h1, h2').forEach(function(n){ text += ' '+(n.textContent||''); }); return text; } var STOP_ZH = ['我们','你们','他们','以及','这个','那个','因此','但是','如果','因为','不是','就是','可以','文章','新闻','阅读','更多','相关','推荐','热门','最新','内容','正文','位置','现在','时间','作者']; var STOP_EN = ['the','and','for','are','this','that','with','from','your','you','was','were','will','have','has','had','can','could','would','should','a','an','to','in','by','of','on','at','as','is','it','be','or','not','but','we','our','they','their','more','read','article','news','content','latest','related','hot','recommended','author','time']; function tokenizeZh(text){ var zh = (text||'').replace(/[^\u4e00-\u9fa5]/g,''); var tokens=[]; var i; var s; for(i=0;i2;}); } function count(arr, stop){ var m={},i,t; for(i=0;i=0) continue; m[t]=(m[t]||0)+1; } return m; } function topN(map, n){ var items=Object.keys(map).map(function(k){return {k:k,c:map[k]}}); items.sort(function(a,b){return b.c-a.c}); return items.slice(0,n).map(function(x){return x.k}); } function extract(text, maxN){ maxN = maxN || 12; var zhT = tokenizeZh(text); var enT = tokenizeEn(text); var zhC = count(zhT, STOP_ZH); var enC = count(enT, STOP_EN); var zhTop = topN(zhC, Math.ceil(maxN*0.6)); var enTop = topN(enC, Math.floor(maxN*0.4)); var all = zhTop.concat(enTop); // de-duplicate substrings var out=[]; all.forEach(function(w){ if(!out.some(function(x){return x===w || x.indexOf(w)>=0 || w.indexOf(x)>=0;})) out.push(w); }); return out; } function renderList(keys){ list.innerHTML=''; keys.forEach(function(k){ var li=document.createElement('li'); li.textContent=k; list.appendChild(li); }); } function ensureTagContainer(){ var container = qs('.seo-keywords'); if(container) return container; var anchor = qs('.con_text') || qs('.lbox') || qs('article') || document.body; container = document.createElement('div'); container.className='seo-keywords'; anchor.appendChild(container); return container; } function updateMeta(keys){ var meta = qs('meta[name="keywords"]'); if(!meta){ meta=document.createElement('meta'); meta.setAttribute('name','keywords'); document.head.appendChild(meta); } meta.setAttribute('content', keys.join(',')); // visible tags var c = ensureTagContainer(); c.innerHTML=''; keys.forEach(function(k){ var a=document.createElement('a'); a.textContent=k; a.href='/search?kw='+encodeURIComponent(k); c.appendChild(a); }); } qs('#kw-apply', w).addEventListener('click', function(){ var auto = extract(source.value || getPageText(), 12); var manual = (manualInput.value||'').split(/[\s,,]+/).filter(Boolean); var keys = auto.concat(manual); // unique var seen={}; keys = keys.filter(function(x){ if(seen[x]) return false; seen[x]=1; return true; }); renderList(keys); updateMeta(keys); try{ localStorage.setItem('last_keywords', JSON.stringify(keys)); }catch(e){} }); extractBtn.addEventListener('click', function(){ var keys = extract(source.value || getPageText(), 12); renderList(keys); }); // Auto initialize from page content try{ var last = localStorage.getItem('last_keywords'); if(last){ var keys=JSON.parse(last); renderList(keys); updateMeta(keys); } else { var keysInit = extract(getPageText(), 12); renderList(keysInit); updateMeta(keysInit); } }catch(e){} } buildKW(); })();