嗨,正如我的标题所建议的,我使用以下代码来动态加载页面的一部分(此处为ID)
function callBackFunctionLoadNextBackInPage(data)
{
//alert(data);
$("#left").fadeTo(100,1);
var data = $(data).find( '#left' );
$("#left").html(data);
if(supports_history_api())
{
history.pushState(null, null, loadNextBackInPage_URL);
if(!popEventListnerAdded) {
window.addEventListener("popstate", function(e) {
loadNextBackInPage(location.href);
},false);
popEventListnerAdded = true;
}
}
else
{
}
}
function loadNextBackInPage(url,parm)
{
//alert(url);
loadNextBackInPage_URL = url;
$("#left").fadeTo(100,.2);
$.post(url,parm,callBackFunctionLoadNextBackInPage,'html');
}
这是我的操作方法示例(单击显示详细信息链接)
问题是:
它加载正确…但是javascript无法正常工作。例如:1.我使用“讨论”来发表评论,但在以下部分中将不进行讨论
使用Facebook,Twitter,Yahoo!,DISQUS,OpenID或Anonymus添加评论
但是,如果刷新浏览器,它确实可以正确加载…我仅首先加载所有需要的脚本…那么为什么它不起作用?
另外例如:SHARE(单击此处)按钮应使用以下代码展开:
<script language="javascript" type="text/javascript">
function showHideDiv()
{
var divstyle = new String();
divstyle = document.getElementById("share").style.display;
if(divstyle.toLowerCase()=="block" || divstyle == "")
{
document.getElementById("share").style.display = 'none';
}
else
{
document.getElementById("share").style.display = 'block';
}
}
</script>
但是它没有!…但是如果我刷新页面(即再次加载该URL),则可以使用
主要是我希望讨论评论功能起作用。我使用以下代码生成它
<div class="entry">
<h2>Add a Comment using Facebook, Twitter, Yahoo!, DISQUS, OpenID or Anonymus </h2>
<p>
<div id="disqus_thread"></div>
<script>
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
var disqus_shortname = '[written here]'; // required: replace example with your forum shortname
// The following are highly recommended additional parameters. Remove the slashes in front to use.
var disqus_identifier = 'page=show_song_details.php&songid=<?php echo $sid ?>&n=0&back=no';
var disqus_url = '<?php echo $main_root.$_SERVER['REQUEST_URI']; ?>';
var disqus_developer = 1 ;
/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
</p>
</div>
问题在于,<script>
只要您从HTML字符串创建jQuery对象以对其进行一些DOM操作,jQuery就会剥离标签.find()
。
最好的选择是将整个HTML阅读为文本,然后使用正则表达式将其切碎并将相关部分放入文档中。您还应该考虑重新设计项目的一部分,因为我认为用部分脚本加载外部页面的部分不是一个好习惯,从长期来看可能很难维护。除非当然是经过深思熟虑的模块化设计,否则您就知道并知道自己在做什么。
我用的是角度4。我对UI中的一个问题感到震惊。我先有emp1和emp2。如果我选择emp1,它将加载员工1的详细信息。如果我选择emp 2,所有表单字段都相同,它将加载employee 2的详细信息。 第一个的URL是:http://localhost:4200/empDetails/1 第二个的URL是:http://localhost:4200/empDetails/2 URL和路由中只有id
这个插件是关于杀死黑客的,但由于某些原因,它不会通过命令重新加载配置,我尝试了所有方法,但什么都没有,当我更改配置时,我必须重新加载服务器,而不是通过命令。 在其他类上,配置设置为true/false,当我转到config时,配置不会保存
问题内容: 我已经设置了版本4 的React。当我直接在浏览器中输入URL时,路由有效,但是当我单击链接时,URL在浏览器上发生了变化(例如http:// localhost:8080 / categories ),但是内容不会更新(但是如果我刷新,它会更新)。 以下是我的设置: 该 Routes.js 设置如下: 我在 Nav.js 中使用的链接如下: 该 App.js 如下: 问题答案: 包装
问题内容: 我的问题很简单,我有一个名为new.json的文件,并且试图使用JQuery加载和显示数据。我一直在写JavaScript代码: 并且new.json中的数据如下所示: 问题答案: 如果您使用的是Chrome。因为Chrome不允许xmlhttprequest请求本地文件。因此,jQuery无法加载您的new.json 你可以加 --allow-file-access-from-fil
问题内容: 我有一个非常烦人的问题,我无法使用猫鼬更新任何内容。使用起来确实令人沮丧,并且文档根本没有帮助。 我有这个架构: 这是我要向阵列添加设备的代码: 在这一点上我得到错误: 我没有找到解释为什么发生这种情况的原因。我不得不提到该文档(数据库中几乎只有一个文档)是这个: 问题答案: 使用$ push或其他数组更新运算符将元素添加到数组。有关详细信息,请参阅http://docs.mong
问题内容: 我知道这是一个模糊的问题- 对此感到抱歉。如果我有一个在PHP和MySQL上运行的论坛,聊天室或类似的地方,用户可以在其中输入和提交数据,那么什么是最好的方式来使新提交的内容在提交后自动在页面上显示给所有用户? 如果您愿意,它很像实时新闻源…效果排序在这里适用于stackoverflow,当您回答问题时,系统会在您提交新答案时告知您。我想测试新提交的内容,然后自动显示它。 有什么建议?