You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript 'a'标签重定向异常原因排查求助

问题原因分析与解决方法

从你给出的错误链接能一眼看出核心问题:你的URL被额外的中文右双引号(URL编码为%E2%80%9D)包裹了,这直接导致浏览器误判了链接类型。

浏览器识别HTTP/HTTPS远程链接的前提是字符串以http://或https://开头,且没有非法的包裹字符。当你的链接变成“https://www.ft.com/...”(注意是中文排版引号)时,浏览器无法识别这是合法的远程URL,会默认把它当作本地文件路径,再结合当前Bokeh页面的本地文件根路径(file:///home/vincent/wintergreen/bokehIB/),就拼接成了你看到的错误跳转地址。

结合Bokeh开发的场景,可能触发这个问题的情况有两种:

  • 复制URL时不小心带入了中文引号:比如从文档、聊天框等带排版格式的地方复制链接时,顺带把中文引号也粘进了代码里,比如:
    # 错误写法:URL被中文引号包裹
    wrong_url = "“https://www.ft.com/content/336e7f52-4189-11e8-93cf-67ac3a6482fd”"
    
  • 生成HTML链接时错误嵌套引号:比如在Div组件的文本中,给URL额外套了一层引号,导致HTML解析时出现异常:
    # 错误写法:URL本身带英文引号,导致href属性值异常
    url = '"https://www.ft.com/content/336e7f52-4189-11e8-93cf-67ac3a6482fd"'
    div = Div(text=f'<a href={url}>FT Article</a>')
    

快速解决步骤

  1. 清理URL字符串:确保代码中的URL是纯字符串,不带任何额外引号(中文/英文都不行):
    correct_url = "https://www.ft.com/content/336e7f52-4189-11e8-93cf-67ac3a6482fd"
    
  2. 正确生成跳转组件:
    • 如果用Div渲染HTML链接,确保href属性用英文引号正确包裹URL:
      from bokeh.models import Div
      div = Div(text=f'<a href="{correct_url}" target="_blank">查看FT文章</a>')
      
    • 如果用Bokeh的Button组件实现跳转,直接给url属性赋值纯URL即可(不需要加引号):
      from bokeh.models import Button
      link_btn = Button(label="打开文章", button_type="primary")
      link_btn.url = correct_url
      

这样处理后,浏览器就能正确识别这是一个远程HTTPS链接,不会再跳转到本地file://路径了。

内容的提问来源于stack exchange,提问作者jim jarnac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:31:09