Slack频道注册按钮不显示加载ajax页面内容时
Slack channel signup button not showing when loaded with ajaxed page content
我正在添加一些内容到页面中。中间一列包含基于特定类的内容。当他们点击类的按钮时会有很多东西进来。松弛通道按钮是属于该页面的支持框的一部分。与此同时,还有一个注册到slack频道的按钮。
在html中是这样的,这个block进入到正在加载的页面
<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>
当页面初始加载时,按钮显示良好。如果我查看的页面正在ajax在它自己的url按钮显示很好。但是,一旦我ajax按钮中的内容不显示。我发现一些帖子使用了eval()"但我认为这是没有帮助这里,因为我所做的就是添加这个脚本标签,而不是实际运行任何js从一个函数在我的页面上的文件,所以我不认为有什么要评估。
有谁知道有什么方法可以在页面被插入后保持这个按钮显示吗?我确实尝试将它附加到一个div,但按钮仍然不会显示
您需要确保脚本标记不是作为字符串"ajax"插入,而是作为DOM可以理解的元素。您可以使用纯Javascript来实现这一点(createElement()
)。下面是一个模拟AJAX请求的超时示例。这使得不与jQuery的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);
相关文章:
- 无法在通过jQuery的ajax加载的页面中执行javascript
- 获取ajax加载的图像的大小
- 分页:如何用AJAX加载第一个页面
- 页面加载之前的jQuery Ajax加载程序
- ajax加载了内容,脚本没有执行
- 如何使用post和ajax加载视图Codeigniter
- $(select).selectmenu('打开')不'如果使用ajax加载页面,则不起作用
- ajax加载()后,包含图表的图像不会重新绘制
- 如果数据为空,Ajax加载不会停止
- 防止用户在jQuery Mobile中ajax加载页面时单击其他位置
- 将内容ajax加载到html弹出窗口中
- 导航栏和AJAX加载
- 用于各个元素的Ajax加载程序
- 通过AJAX加载页面并执行javascript和CSS
- 使用ajax加载页面的一部分
- 从表单中动态生成一个字符串,传递给通过AJAX加载的PHP文件
- 显示全屏Ajax加载程序的最佳方式
- 获取通过AJAX加载的元素
- 如何在rails应用程序中测试AJAX加载的内容
- 如何在Ajax加载新内容时停止JavaScript执行