【问题标题】:HTML insert in RubyRuby 中的 HTML 插入
【发布时间】:2023-04-02 17:30:01
【问题描述】:

我正在尝试在 ruby​​ 中创建 html 语句。 这是我的示例代码。

tmp1 = "<div><font face='Arial'><span style='font-size:9pt'>&diams;Issue : #{@issue[:"Defect Type"]} (#{@issue[:"Checker"]}) found in #{@issue[:"Function"]}</span></font></div>"        
doc = Nokogiri::HTML.fragment(tmp1)
doc.to_html
header = Nokogiri::XML.fragment('<html><body>')
header.at('body').children = doc
details = header.to_html

doc = Nokogiri::XML::DocumentFragment.parse(details)
body = doc.at('body')        

url = "http://collab.temp.com/main/display/CQ/Checker+Guides"
tmp2 = "<div><font face='Arial'><span style='font-size:9pt'>&diams;Review Guide : <a href=#{url}>#{url}</a></span></font></div>"                    

body.add_child(tmp2)
details = doc.to_html(:encoding => 'EUC-KR')  

当我在浏览器中显示“详细信息”时,我可以如下所示的精确超链接:

♦审核指南:http://collab.temp.com/main/display/CQ/Checker+Guides

但是,如果我点击链接,就会出现“找不到网页”的错误。

如果我复制链接然后将它粘贴到浏览器中,我可以成功访问它。

所以我认为我可能会在 ruby​​ 中创建错误的 html 语句。

你能帮我解决这个问题吗?

【问题讨论】:

    标签: html ruby


    【解决方案1】:

    用引号将a 锚标记(在tmp2 = 行内)的url 属性括起来:

    <a href=#{url}>#{url}</a> ⇐ incorrect
    <a href='#{url}'>#{url}</a> ⇐ correct
    

    【讨论】:

    • 其实引号和双引号我都试过了。但我无法解决问题。
    • 浏览器»ViewSource 生成的 HTML 是什么?
    • 我找到了这个问题的原因。我们的系统正在阻止执行超链接。所以我无法通过点击访问它。感谢您的支持,@mudasobwa
    猜你喜欢
    • 2020-01-30
    • 2013-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-11
    • 1970-01-01
    • 1970-01-01
    • 2011-10-05
    相关资源
    最近更新 更多