【问题标题】:href appending current URL before navigating to new linkhref 在导航到新链接之前附加当前 URL
【发布时间】:2016-04-24 12:39:31
【问题描述】:
function setRedirect()
{
    var redirectDest = "This is additional description <a href=&quot;http://opensourceforgeeks.blogspot.in/&quot;>Click Me</a>.";
    if(redirectDest != null && redirectDest != '')
    {
        document.getElementById("RedirectDestElem").innerHTML = redirectDest;
    }
}

redirectDest 由 Spring 控制器填充。所以函数其实是

function setRedirect()
{
    var redirectDest = "${redirectDest}";
    if(redirectDest != null && redirectDest != '')
    {
        document.getElementById("RedirectDestElem").innerHTML = redirectDest;
    }

}

这会将当前 url 基地址附加到http://opensourceforgeeks.blogspot.in,然后重定向。我不希望这种情况发生。我必须在 Java 代码中将 " 转换为 &amp;quot;(转义它),这样我的 java 脚本才不会中断。否则会是

var redirectDest = "This is additional description <a href="http://opensourceforgeeks.blogspot.in/">Click Me</a>.";

会坏的。

【问题讨论】:

  • 为什么不能使用' 而不是"?像这样:"This is additional description &lt;a href='http://opensourceforgeeks.blogspot.in/'&gt;Click Me&lt;/a&gt;."
  • 附加哪个 URL 以及按什么顺序?如果基本 URL 是第一个而重定向到 URL 是第二个,那么它有可能看不到 http:// 并认为您正在尝试重定向到子-同一域上的页面。尝试使用“\”转义而不是编写 HTML 实体。或者甚至更好地使用“”和“”的组合,例如var=" 这是不会破坏 ". 的 var 值 'inside quotes'
  • @MoshFeu 我不能要求用户这样做。我可以吗?正如我所说,它来自用户在门户上设置它的服务器。他可以选择使用"'。需要处理代码中的所有情况。
  • 所以在服务器或客户端将"转换为'。有问题吗?
  • 检查元素并查看锚内部生成的实际 href 值。

标签: javascript java html spring href


【解决方案1】:

您可以使用转义序列“\”

所以您的文本将如下所示:

var redirectDest = "This is additional description <a href=\"http://opensourceforgeeks.blogspot.in/\">Click Me</a>.";

【讨论】:

    【解决方案2】:

    为什么不用单引号将 redirectDest 括起来?

    var redirectDest = '${redirectDest}';

    【讨论】:

    • javascript 变量“redirectDest”从 spring 属性“redirectDest”而不是直接从用户获取其值。那么,为什么不将用户输入字符串中的任何单引号转换为双引号,然后再分配给 spring 属性“redirectDest”。
    猜你喜欢
    • 2014-08-21
    • 1970-01-01
    • 1970-01-01
    • 2019-01-03
    • 2020-06-29
    • 1970-01-01
    • 2021-07-05
    • 1970-01-01
    • 2014-10-03
    相关资源
    最近更新 更多