7

这个page是用英文开发的,在Chrome和Edge浏览器中运行良好。一些社区成员要求将其翻译成中文。同样的策略来创建页面与以下结果page中文网址在Edge中正确加载,但不是其他浏览器

问题是有时候中文版本的页面没有加载。特别是从其他位置粘贴URL时。另一方面,从landing page,博客区域导航时,它将正确显示。

如何解决这个问题,以便它适用于每个浏览器正确。 一个我只注意到有趣的是,有时复制链接结果:

https://ethereumclassic.github.io/blog/2017-08-27-社会币的崛起/

有时在:

https://ethereumclassic.github.io/blog/2017-08-27-%E7%A4%BE%E4%BC%9A%E5%B8%81%E7%9A%84%E5%B4%9B%E8%B5%B7/

+0

你的js中的东西(我倾向于在某处丢失'encodeURIComponent'),禁用它正确加载页面。尽管如此,我认为任何人都不会挖掘整个页面来找出罪魁祸首。 – Kaiido

+0

它可能是这样的,这与此有关系:https://stackoverflow.com/questions/7184802/are-chinese-characters-allowed-entered-in-urls –

+0

由于该网页与Gatsbyjs生成,我创建了一个问题也在这里:https://github.com/gatsbyjs/gatsby/issues/2010 –

回答

3

检查bundle.js更新的供应商。它似乎是一个旧版本。

function webpackContextResolve(req) { 
    return map[req] || (function() { throw new Error("Cannot find module '" + req + "'.") }()); 

// error occurs in above. 
}; 

要调试的网站加载代码,首先导航到一个空白页(约:空白)。然后显示并将开发工具固定到空白页面....选择开发工具的调试选项卡,然后从下拉列表中选择“中断所有异常”(看起来像停止标志)。

不关闭开发工具,返回到空白页面,然后导航到英文,然后导航到中文网站....开发工具现在将打破错误。 map undefined error 调试浏览器嗅探问题。 (查找使用浏览器userAgent嗅探来加载不同版本的网站的代码)。使用开发工具的调试选项卡查找“navigator”或“userAgent”的出现次数。 find UserAgent sniffing code

您可以通过更改开发工具的仿真选项卡中的userAgent标头来测试网站是否错误地确定了浏览器功能。奇怪的是,在IE11中更改开发工具中的UAS具有相同的结果......暗示bundle.js中的enableLazy赋值是原因。 changing the UAS used by a browser with the Emulation tab var enableLazy = typeof document!=='undefined'& & typeof document.documentMode ==='number'|| typeof navigator!=='undefined'& & typeof navigator.userAgent ==='string'& & /\bEdge/\d/.test(navigator.userAgent);

bundle.js似乎是一个问题....检查供应商的网站上更新他们的软件....

还...你已经设置页面语言为en ...它应该是zh。 eg.lang =“zn”......

0

我检测到一些问题,由于URL编码和小写字母和大写字母之间的区别。

随着PHP我做了URI转换以前的路由器解析:

if(strpos($_SERVER['REQUEST_URI'], '%') > 0){ 
    $uri = $_SERVER['REQUEST_URI']; 
    $result = preg_replace_callback(
     '/\%(\w{2})/', 
     function ($matches) { 
      return strtoupper($matches[0]); 
     } , 
     $uri 
    ); 
    $_SERVER['REQUEST_URI'] = $result; 
} 
0

你的问题是bundle.js除去它,我得到你的网页没有任何问题:

enter image description here

难道你把它放在一个不受支持的事件中?

的JS说:

  • 注意:这将不正确的非通用事件,如 change,* resetloaderrorselect工作。 *
相关问题