Javascript 加载ajaxed页面内容时,松弛频道注册按钮不显示

Javascript 加载ajaxed页面内容时,松弛频道注册按钮不显示,javascript,ajax,Javascript,Ajax,我正在将一些内容添加到一个页面中。中间有一列包含基于特定类的内容。所以当他们点击班级的按钮时,会有很多东西进来。“松弛通道”按钮是属于该页面的支持框的一部分。除此之外,还有一个按钮可以注册到slack channel。这是从 在html中看起来是这样的,这个块出现在正在加载的页面上 <div class="support box"> <span class="title">Support</span> <p

我正在将一些内容添加到一个页面中。中间有一列包含基于特定类的内容。所以当他们点击班级的按钮时,会有很多东西进来。“松弛通道”按钮是属于该页面的支持框的一部分。除此之外,还有一个按钮可以注册到slack channel。这是从

在html中看起来是这样的,这个块出现在正在加载的页面上

<div class="support box">
  <span class="title">Support</span>
  <p>
    Are you haveing trouble? Visit our workshop FAQ page or send us an email and we'll get back to you as soon as possible.
    <br />
    <br />
    <a href="/faq" class="changeColor">Frequently Asked Questions</a>
    <br />
    <a href="mailto:....com" class="changeColor">...url....com</a>
  </p>
  <p>Join the conversation on slack</p>
  <div id="slackin-div">
    <script src="https://...url....com/slackin.js?large"></script> 
  </div>
</div>

支持

你有麻烦吗?请访问我们的车间常见问题页面或向我们发送电子邮件,我们会尽快回复您。



轻松地加入对话

当页面最初加载时,按钮显示为fine。如果我在自己的url上查看被截取的页面,按钮会显示良好。但是一旦我使用ajax,按钮中的内容就不会显示。我发现有几篇文章使用了“eval()”,但我认为这并没有什么帮助,因为我所做的只是添加这个脚本标记,而不是从我页面上的文件中的函数运行任何js,所以我认为没有任何东西需要评估


任何人都知道我有什么办法可以让这个按钮在页面被打开后继续显示。我确实尝试将其附加到div中,但该按钮仍然没有显示。

您需要确保脚本标记不是作为字符串“ajaxed”,而是作为DOM理解的元素。您可以使用纯Javascript(
createElement()
)。下面是一个模拟AJAX请求的超时示例。这不适用于jQuery的
append()
,因为它还将其作为字符串插入

const slackin='1〕http://slack.yourdomain.com/slackin.js';
//创建脚本元素。
让script=document.createElement('script');
script.src=slackin;
//在目标元素中插入元素。
document.querySelector(“#target”).appendChild(脚本);

您需要确保脚本标记不是作为字符串“ajaxed”,而是作为DOM理解的元素。您可以使用纯Javascript(
createElement()
)。下面是一个模拟AJAX请求的超时示例。这不适用于jQuery的
append()
,因为它还将其作为字符串插入

const slackin='1〕http://slack.yourdomain.com/slackin.js';
//创建脚本元素。
让script=document.createElement('script');
script.src=slackin;
//在目标元素中插入元素。
document.querySelector(“#target”).appendChild(脚本);

你说的“ajaxed in”是什么意思?你能再解释一下吗?中间有一列内容基于特定的类。所以当他们点击“班级”按钮时,会有一大堆东西进来。slack channel按钮是属于该页面的支持框的一部分,因此您可以将脚本标记作为字符串加载,并将其附加到元素中?不,我猜它只是作为字符串输入的。您能解释一下“ajaxed in”是什么意思吗?中间有一列,其中包含基于特定类的内容。所以当他们点击“班级”按钮时,会有一大堆东西进来。slack channel按钮是属于该页面的支持框的一部分,因此您可以将脚本标记作为字符串加载并将其附加到元素中?不,我猜它只是作为字符串输入的。几乎是我需要的,您能告诉我如何将其附加到id为而不是正文的div中吗?我尝试了“$('#div id”).appendChild(脚本);“但它没有显示。将它附加到body使它显示出来,但需要将它放在div内的页面上。该按钮显示在脚本标记所在的位置。使用jQuery,只需执行
。append()
。以前尝试过(现在尝试确保)它不起作用。更新了我的代码,显然jQuery将其作为字符串附加。最好使用本机Javascript来完成此操作。几乎是我需要的,您能告诉我如何将其附加到id为而不是正文的div中吗?我尝试了“$('#div id”)。appendChild(script);”但它没有显示出来。将其附加到body会使其显示出来,但需要将其放置在div内的页面上。该按钮显示在脚本标记所在的位置。使用jQuery,只需执行
.append()
。以前尝试过(现在也尝试过)但它不起作用。更新了我的代码,显然jQuery正在将其作为字符串附加。最好使用本机Javascript来完成这项工作。