Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 插入DOM时带磅号(哈希标记)的脚本URL被截断_Javascript_Jquery - Fatal编程技术网

Javascript 插入DOM时带磅号(哈希标记)的脚本URL被截断

Javascript 插入DOM时带磅号(哈希标记)的脚本URL被截断,javascript,jquery,Javascript,Jquery,从一个外部资源中,我得到了我需要在DOM中执行/加载的跟踪器的URL,但是一个带有#的URL,无论我怎么做,都会在磅号之后被切断。我无法控制这些URL,因为它们来自第三方,我希望能够加载此URL而无需对其进行任何修改。 URL示例: 执行时,此URL将更改为: 我共享的代码在所有情况下都有效,除了上面的URL 原始代码: $('#myElement').append('<SCRIPT language="JavaScript1.1" SRC="' + url + '"></SC

从一个外部资源中,我得到了我需要在DOM中执行/加载的跟踪器的URL,但是一个带有#的URL,无论我怎么做,都会在磅号之后被切断。我无法控制这些URL,因为它们来自第三方,我希望能够加载此URL而无需对其进行任何修改。 URL示例:
执行时,此URL将更改为:

我共享的代码在所有情况下都有效,除了上面的URL

原始代码:

$('#myElement').append('<SCRIPT language="JavaScript1.1" SRC="' + url + '"></SCRIPT>')
和附加子元素的其他变体一样,我也尝试将其作为图像元素插入,但也不起作用


我在这篇文章中唯一能找到的另一篇文章建议浏览器做这件事()…似乎是合乎逻辑的,但是我们公司不是这家公司的第一个客户…

所以你需要的是对url进行编码,这样你就不会让浏览器解释原始参数。你可以看看这篇文章。也许可以查看一下文档,了解一下为什么需要这样做。因此,您必须重定向到encodeURIComponent(url)或在添加参数时(link+encodeURIComponent(params))。

那么您想将“#”作为参数传递吗?实际上,我只想能够执行该url,而无需对其进行任何修改。查询字符串中的特殊字符需要转义。片段标识符(在
#
之后的任何内容)不会通过浏览器发送到服务器。可能重复的感谢,这确实会修复它。经过多次反复之后,第三方同意将#替换为&,之前他们认为这是行不通的……我问我们是否可以停止与客户和客户一起工作,但有关金钱的问题……)
var s = document.createElement("script")
s.type = "text/javascript"
s.src = url
$('#myElement')[0].appendChild(s)