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

时间:2016-11-14 17:29:34

标签: javascript ajax

我正在将某些内容写入页面。有一个中间列,其内容基于特定的类。所以当他们点击班级按钮时会有很多东西进来。松弛通道按钮是属于该页面的支持框的一部分。除此之外,还有一个用于注册松弛通道的按钮。这取自here.

在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>

当页面最初加载时,按钮显示正常。如果我查看在其自己的URL中获取ajaxed的页面,则该按钮显示正常。但是,一旦我ajax按钮中的内容不显示。我发现了一些使用“eval()”的帖子,但我认为它在这里没有帮助,因为我所做的只是添加这个脚本标签,而不是从我页面上的文件中的函数运行任何js所以我不这样做认为有什么可以评估的。

任何人都知道任何方式我可以在页面被打开后保持此按钮显示。我确实尝试将其附加到div但按钮仍然不会显示。

1 个答案:

答案 0 :(得分:2)

您需要确保脚本标记不是&#34; ajaxed&#34;作为字符串,但作为DOM理解的元素。您可以使用普通的Javascript(createElement())。这是一个模拟AJAX请求的超时示例。 使用jQuery&#39; append(),因为它也会将其作为字符串插入。

const slackin = 'http://slack.yourdomain.com/slackin.js';

// Create script element.
let script = document.createElement('script');
    script.src = slackin;

// Insert the element in a target element.
document.querySelector('#target').appendChild(script);