我正在将某些内容写入页面。有一个中间列,其内容基于特定的类。所以当他们点击班级按钮时会有很多东西进来。松弛通道按钮是属于该页面的支持框的一部分。除此之外,还有一个用于注册松弛通道的按钮。这取自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但按钮仍然不会显示。
答案 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);