天道酬勤,学无止境

javascript not working in the new part when loading a new part using jquery and HTML 5

Hi as my title suggest, i use the following code to dynamically load a portion of the page (here left 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');
}

Here is an example of how i do it (click on the show details link

Problem is:

It loads properly... but the javascript is not working. For example: 1. I use a discuss for comments and it doesnt load in the following section

Add a Comment using Facebook, Twitter, Yahoo!, DISQUS, OpenID or Anonymus

But if you refresh the browser it does load properly... I am loading all the scripts required first only... so why is it not working?

Also for example: The SHARE (Click here) button should expand using the following code:

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

But it doesnot!... but works if i refresh the page(i.e load the url again)

Mainly i want the discuss commenting thing to work. I use the following codes to generate it

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

评论

The problem is that jQuery strips out <script> tags whenever you create a jQuery object from a HTML string to do some DOM manipulations on it, in your case .find().

Your best bet is to read the whole HTML as text, then use regular expressions to chop it up and put the relevant part into your document. You should also think about redesigning part of your project, as in my opinion loading parts of an external page with partial scripts is not a good practice and could be hard to maintain in the long term. Unless of course it's a well thought out modular design you've got there and you know what you're doing.

This issue is an exact duplicate of a different thread, although I can't vote to close it due to the bounty. Have a look at my answer here and see if it helps: jquery: Keep <script> tag after .find()

I think that the problem is the order in which your events are firing. When you load the page normally, the discuss js is most likely run when load fires. So when you load with ajax, it won't fire the load event. Instead, you will have to initialize these compontent in you callBackFunctionLoadNextBackInPage method or use another callback.

$.post(url,parm,function(data) {
    callBackFunctionLoadNextBackInPage(data);

    // Initialize here
    $('.element').plugin_initializer();

},'html');

The function showHideDiv() is not availbe on the main page (list) and is only on the sub page (individual song). In the following code you are retrieving only a subset of the page's dom which means the JS functions you've created in the rest of the page aren't run.

$("#left").fadeTo(100,1);
var data = $(data).find( '#left' );
$("#left").html(data);

You can fix this by including the JS functions you need in the main page.

A possible solution I read about ages ago would be to assign the function to a variable like so:

var showHideDiv = function() {...};

This makes me feel a bit dirty... but what about running an eval on data. Something like:

$("#left").fadeTo(100,1);
var data = $(data).find( '#left' );
$("#left").html(data);

data.find('script').each(function() {
  eval($(this).text());
});

Edit: Perhaps you could try jQuery's globalEval function a try.

$("#left").fadeTo(100,1);
var data = $(data).find( '#left' );
$("#left").html(data);

data.find('script').each(function() {
  $.globalEval($(this).text());
});

Try replacing onclick with jquery live() and see if it wokrs. Also your showHideDiv could be reduced to one line:

$("#share").toggle()

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • Joomla 菜单项类型 iframe-wrapper 不加载 javascript(Joomla menu item type iframe-wrapper doesn't load javascript)
    问题 我正在为使用菜单项类型 iframe-wrapper 来显示外部内容的现有站点从头开始构建一个新模板。 我的模板使用了一些 jQuery,它在我迄今为止检查过的所有页面上都可以正常工作,除了那些使用 iframe-wrapper 的页面。 在这些页面上,joomla 似乎没有包含它通常包含的任何 js(jQuery、mootools、joomla 的东西)。 因为我需要 jQuery,所以我的脚本中断了。 我可能可以通过将 jQuery 硬编码到模板中来解决这个问题。 即使忽略最有可能导致它的所有问题,也只能解决我的部分问题。 我使用一个模块来包含一些内联 js 来初始化倒计时,以便可以从后端配置结束日期。 该脚本也不包含在内,事实上整个模块都在前端(或至少它的容器)中丢失了。 我是 joomla 的新手,所以这可能是我的一个明显错误,但是我如何让 joomla 包含它通常在不显示 iframe 包装器时所做的 js? 回答1 终于让它工作了: JHtml::_('jquery.framework'); 添加到模板中的这一行确保包含 Joomla 附带的 jQuery 版本并且只加载一次。 我仍然不知道为什么jQuery 只在一个特定的页面类型中丢失,而不是所有页面类型或一个都没有,但它现在正在工作。 回答2 如果 iFrame 不是 Joomla 网站的一部分,也不是
  • jQuery按从最小值到最大值的顺序显示日期(jQuery display date in order from min to max)
    问题 我很高兴在我的另一个问题中收到了以下日期排序代码 :) 但我有一个快速查询。 我怎样才能使 min-date 和 max-date 的结果按从 min-date 到 max-date 的顺序出现? jQuery: $(function() { $.datepicker.setDefaults({ dateFormat: "dd/mm/yy" }); //sets default datepicker's dateFormat $("#mindate, #maxdate") .datepicker() //initializes both of the date inputs as jQuery UI datepickers .on('keypress keyup change blur', function(){ filter(); }); //sets listeners to filter the table on the fly }); function filter(){ $('tr').show(); //resets table to default before executing the filter datefields = $('table.bordered tr td:nth-child(2)'); //stores a jquery oject
  • 为什么$(document).ready不为我解雇?(Why is $(document).ready not firing for me?)
    问题 在一个php文件中,我曾使用include包括以下js.php文件,在此之前,我还包括了jquery文件。 <script type="text/javascript"> $(document).ready(function(){ alert("hello"); }); </script> 但这是行不通的。 为什么? 当我跳过$(document).ready函数时,它起作用了。 但我需要里面的jQuery代码。 怎么了? 回答1 根据您所说的,最可能的答案是页面中实际上没有正确包含核心jQuery文件。 您需要以下内容: <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 可能是缺少或输入错误。 回答2 另一个导致失败的原因,所有剩余的回调从未调用: $(document).ready(null); 因此,请检查您是否有返回空值的变量或语法错误。 像这个: $(document).ready(function($){}(jQuery)); 请注意,上面的函数被立即调用,并且返回undefined。 回答3 检查jQuery是否正确加载。 查看浏览器的进度条:它可能正在加载一些计数器
  • 如何在php中获取部分从jquery加载的页面的整个html(How to get, in php, the entire html of a page loaded in part from jquery)
    问题 我有这个问题好几天了...我必须从 php 加载页面的整个 html。 在这个页面上有一个 jquery 函数,当所有页面都加载时会调用它。 此函数将其他 html 加载到页面中,因此我必须加载所有 html(也加载了 jquery 的部分)。 我可以知道我让所有页面都试图找到一些仅从 jquery 加载的标签。 (例如:名称为XXX的标签输入、属性为multiple的标签输入等) 所以我尝试: $html = file_get_contents("http://wwww.siteToScrape.com"); if (strpos($html, 'multiple') !== false) { echo 'found'; } else { echo 'not found'; } 但结果是“未找到”。 然后我下载了简单的 html dom 并尝试: include 'simple_html_dom.php'; $html = file_get_html("http://wwww.siteToScrape.com"); if (strpos($html, 'multiple') !== false) { echo 'found'; } else { echo 'not found'; } 但结果仍然是“未找到”。 所以我想获取一些模拟浏览器的 php 脚本(这样也可以加载
  • 将变量从 cshtml razor 传递给 jquery(passing a variable from cshtml razor to jquery)
    问题 我有一个部分的观点,我在页面上调用如下:- @Html.Partial("~/Views/Shared/ImageGallery.cshtml", Model) 此页面的实际 Jquery 代码如下:- <script type="text/javascript"> $(document).ready(function () { $('.modal_block').click(function (e) { $('#tn_select').empty(); $('.modal_part').hide(); }); $('#modal_link').click(function (e) { $('.modal_part').show(); var context = $('#tn_select').load('/Upload/UploadImage?Page=Article&Action=Edit&id=16', function () { initSelect(context); }); e.preventDefault(); return false; }); }); </script> 现在这很完美,但是我需要找到一种方法来传递动态变量而不是硬编码变量:- Upload/UploadImage?Page=Article&Action=Edit&id=16 在模型中
  • 在php中刷新网页的一部分[关闭](refresh a part of webpage in php [closed])
    问题 在这里很难说出要问什么。 这个问题是模棱两可,含糊,不完整,过于宽泛或夸张的,不能以当前的形式合理地回答。 如需帮助澄清此问题以便可以重新打开,请访问帮助中心。 8年前关闭。 我开发的页面需要刷新网页的一部分,而不是使用Ajax在php中刷新整个页面。 请帮助我做到这一点,在此先感谢 回答1 PHP无法做到这一点,只有像JavaScript这样的客户端语言才可以。 话虽这么说,jQuery库将允许您通过其AJAX功能真正轻松地做到这一点。 Index.php <div id="scores"><!-- score data here --></div> 可以使用以下JavaScript进行刷新: $("#scores").load("index.php #scores"); 这将再次从索引加载#score的内容,而无需刷新整个页面。 您甚至可以使用setInterval()其自动化以每30秒刷新一次; var $scores = $("#scores"); setInterval(function () { $scores.load("index.php #scores"); }, 30000); 您可以在http://api.jquery.com/load/#loading-page-fragments上了解有关$.load()更多信息。 回答2
  • 对 servlet 执行 jquery.ajax POST 后,浏览器未加载 HTML 响应(Browser not loading HTML response after doing jquery.ajax POST to a servlet)
    问题 在执行多个文件的 jquery.ajax 帖子后,我无法加载一些由 servlet 返回的 html。 我可以上传文件(图片)就好了。 我有一个 servlet 对照片进行一些处理并从图片中提取一些元数据。 处理完照片后,我想将一些提取的元数据传递给 JSP,最终返回给浏览器。 所有这些工作正常。 我用我的数据加载请求对象并将它重定向到我的 JSP。 但是……每当 JSP 响应浏览器时,页面就不会被加载。 使用 firebug,我可以看到 JSP 按照我想要的方式正确生成 HTML,并且浏览器在响应中获取 html 文本......它只是不加载页面。 页面保持原样,我可以简单地在 Firebug 中查看响应中的 HTML 文本。 任何想法可能是什么问题? 这是一些相关的代码...... 将文件上传到 servlet 的 Javascript 函数... function uploadPictures() { var input = document.getElementById('filesToUpload'); var fileList = []; var files = new FormData(); for(var i = 0; i < input.files.length; i++) { files.append("file", input.files[i]); }
  • 在jQuery中提取HTML文档的一部分(Extract part of HTML document in jQuery)
    问题 我想对返回HTML的页面进行AJAX调用,提取HTML的一部分(使用jQuery选择器),然后在基于jQuery的JavaScript中使用该部分。 AJAX检索非常简单。 这使我在回调函数的“数据”参数中获得了整个HTML文档。 我不明白的是如何以一种有用的方式处理这些数据。 我想将其包装在新的jQuery对象中,然后使用选择器(通过我相信的find())来获取我想要的部分。 有了这些信息后,我将其传递给另一个JavaScript对象,以插入到我的文档中。 (此委托是为什么我不首先使用jQuery.load()的原因)。 我看到的get()示例似乎都是对此的变体: $('.result').html(data); ...如果我正确理解的话,会将整个返回的文档插入到选定的元素中。 不仅可疑(这不是插入<head>等吗?),而且对于我想要的东西来说太粗糙了。 欢迎提出其他替代方法的建议。 回答1 您可以使用标准选择器语法,并将data作为选择器的上下文传递。 第二个参数,在这种情况下是data ,是我们的上下文。 $.post("getstuff.php", function(data){ var mainDiv = $("#mainDiv", data); // finds <div id='mainDiv'>...</div> }, "html"); 这等效于: $
  • 通过 Ajax (WooCommerce) 加载 single_product_content 时,Javascript 不工作(Variations Javascript not working when single_product_content is loaded via Ajax (WooCommerce))
    问题 在我的 WooCommerce 商店模板中,我使用 Ajax 在 archive-product.php 页面中动态加载单个产品内容。 这部分正在工作。 但是缺少用于选择产品变体的 javascript,因此我尝试在成功的 ajax 请求后将脚本添加到 html。 我可以加载脚本,但我仍然无法选择产品变体。 没有事件被触发。 好像我错过了什么...... 我的Javascript: jQuery('.project-preview').on('click',function(){ var theId = $(this).attr('data-project-id'); var div = $('#product-container'); $.ajax({ type: "POST", url: singleprojectajax.ajaxurl, data : {action : 'load_single_product_content', post_id: theId }, success: function(data){ div.html(data); loadVariationScript(); }, error : function() { } }); }); function loadVariationScript () { jQuery.getScript("
  • HTML5 样板文件和 jQuery(HTML5 Boilerplate and jQuery)
    问题 我想知道为什么来自 http://html5boilerplate.com/ 的样板在 web 内容之后声明 jQuery? 这有充分的理由吗? 这是代码片段... <!-- Add your site or application content here --> <p>Hello world! This is HTML5 Boilerplate.</p> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script> <script>window.jQuery || document.write('<script src="js/vendor/jquery-1.9.0.min.js"><\/script>')</script> <script src="js/plugins.js"></script> <script src="js/main.js"></script> PS 是什么window.jQuery || 部分做什么? 回答1 它检查 CDN 副本是否正确加载。 如果没有,则加载本地副本。 当 jQuery 在页面上运行时,它会创建一个全局jQuery变量。 这也可以作为全局对象的属性访问: window.jQuery 。 如果 jQuery 没有运行,
  • 生成供下载的文件时,如何显示加载动画?(How to display a loading animation while file is generated for download?)
    问题 我有一个Web应用程序,用户可以在其中生成PDF和PowerPoint文件。 这些文件可能需要一些时间才能生成,因此我希望能够在生成时显示加载动画。 这里的问题是我无意知道何时开始下载。 动画永远不会消失。 我知道有可能“在侧面”生成文件并在用户准备好使用AJAX下载文件时提醒用户,但是我更喜欢在用户等待下载开始时“锁定”用户。 回答1 要了解在这里需要做什么,让我们看看这种请求通常会发生什么。 用户单击按钮以请求文件。 该文件需要花费一些时间来生成(用户没有反馈)。 文件已完成并开始发送给用户。 我们想要添加的是让用户知道我们在做什么的反馈...在第1步和第2步之间,我们需要对点击做出反应,并且我们需要找到一种方法来检测何时发生了第3步,从而删除了视觉反馈。 我们不会将下载状态通知用户,他们的浏览器会像其他任何下载一样通知用户,我们只想告诉用户我们正在处理他们的请求。 为了使文件生成脚本与请求者页面的脚本进行通信,我们将使用Cookie,这将确保我们不依赖于事件,iframe等之类的浏览器。 在测试了多种解决方案之后,从IE7到最新的手机,这似乎是最稳定的。 步骤1.5:显示图形反馈。 我们将使用JavaScript在屏幕上显示通知。 我选择在整个页面上使用简单的透明黑色覆盖层,以防止用户与页面的其他元素进行交互,因为跟随链接可能会使他失去接收文件的可能性。 $('
  • 如何首先加载网站的第一部分? (就像在 Google PageSpeed 中一样)(How to make the 1st part of the site loads first? (Like in Google PageSpeed))
    问题 我有一个非常大的网站,加载需要很长时间。 大约需要 120 秒。 我想要做的是加载网站的第一半加载第一。 然后用户可以在加载其他部件时进行冲浪。 我正在尝试做的是下面。 第一,这可能吗? 据我所知是的,因为 Google PageSpeed 就是这样做的。 但问题是,如果我使用 PageSpeed,我将不得不更改我的 DNS 服务器设置等。我想自己这样做。 我怎样才能完成它? 我应该使用什么类型的技术? 鉴于页面具有.php扩展名并用 PHP 语言编写。 回答1 您可以使用延迟加载的概念。 您可以只加载加载过程中需要的内容,然后使用 jquery 和 ajax 加载剩余的内容。 通过这种方式,用户可以轻松浏览已加载的部分并与之交互,而其他部分将异步加载。 jQuery ajax 或 post 方法可以帮助您解决这个问题。 一个简单的例子可能是, 如果你的页面有 5 部分内容,需要立即加载 2 部分 该页面将加载 2 个部分,因此比加载 5 个部分所需的时间少得多加载文档后,您将使用 ajax 加载剩余的 3 个部分。 Ajax 将使用一些参数将请求发送到您网站的特定页面(可以命名为 AjaxRequestHandler.php),该页面将处理您的请求并为此生成 html 并将其发送回您的主页,该页面将仅显示此内容返回的 html 并且这一切都是异步发生的
  • jQuery 使用 AJAX 加载 Google Visualization API(jQuery load Google Visualization API with AJAX)
    问题 有一个我无法解决的问题,我在互联网上查了很多,但一无所获。 我有这个用于通过 PHP 执行 Ajax 请求的 JavaScript。 请求完成后,它会调用一个函数,该函数使用 Google Visualization API 绘制带注释的时间线来呈现数据。 该脚本在没有 AJAX 的情况下运行良好,如果我内联执行所有操作,则它运行良好,但是当我尝试使用 AJAX 执行时,它不起作用!!! 我得到的错误是在“数据”数据表的声明中,在 Google Chrome 开发者工具中,我得到一个Uncaught TypeError: Cannot read property 'DataTable' of undefined 。 当脚本遇到错误时,页面上的所有内容都被清除,它只显示一个空白页面。 所以我不知道如何让它工作。 $(document).ready(function(){ // Get TIER1Tickets $("#divTendency").addClass("loading"); $.ajax({ type: "POST", url: "getTIER1Tickets.php", data: "", success: function(html){ // Succesful, load visualization API and send data google.load
  • Javascript文件依赖性-选择性加载资源文件并防止重复(Javascript file dependencies - Selective load resource files & prevent duplicates)
    问题 这可能更多是哲学上的辩论,但这是我所拥有的: 共享Javascript资源库以调用Web服务的两个控件。 它们通常相互结合使用,但并不总是结合使用。 它们都引用的javacsript文件不容易分开。 不应将javascript文件添加到应用程序的每个页面中。 理想情况下,我会将Web服务划分为控件,并让每个调用仅针对其所需功能的js资源文件。 我想知道是否有明显的更好的方法我想念... 最简单的形式是: <html> <head> </head> <div> <h1>Control1</h1> <script type="text/javascript" src="/Webservice.asmx/js"></script> </div> <div> <h1>Other stuff</h1> </div> <div> <h1>Control2</h1> <script type="text/javascript" src="/Webservice.asmx/js"></script> </div> </body> </html> 编辑如果这提供了一种有用的方法,我可以使用jQuery。 使用ASP.NET 回答1 使用以下JS和jQuery代码解决了我的问题 if (thisResourceLoaded === undefined) { $.getScript('
  • Stop loading of images on a hashchange event via JavaScript or jQuery
    I am using the jQuery BBQ: Back Button & Query Library plugin to create a page that pulls in dynamic content when a link is clicked. When the link is clicked the hash is changed and new content is pulled in (the 'default' action of clicking a href is therefore disabled.) That part works just fine, but there is a problem. Example of my problem Say the "home" page has a DIV a number of images in it and a list of links ... Page One Page Two Page Three The images may take a while to load, in the meantime the user will often not wait for them to load fully and click the "Page One" link. This clears
  • 仅使用HTML / JavaScript创建购物车(Creating a Shopping Cart using only HTML/JavaScript)
    问题 我不确定要完成此项目该怎么做。 我需要创建仅使用一个HTML页面的购物车。 我设置了显示正在出售的商品的表格,但我迷失的地方是JavaScript。 我不知道如何将“添加到购物车”按钮与所有必要的数据(名称,描述和价格)链接起来,以便将其添加到购物车中。 我不需要将其从购物车中删除,但确实需要显示总数。 在网上搜索了一些答案之后,我尝试了一些方法,但无法弄清楚。 绝对感谢您的帮助,因为此时我已经完全迷路了,并且对JavaScript还是陌生的。 这是jsFiddle,但是这让我有些困惑,因为它在这里的工作方式与我刚在Notepad ++中进入Run的方式不同 jsFiddle:http://jsfiddle.net/renavi/ATjvt/5/ function AddtoCart() { console.log('hi'); var x = document.getElementById('Items'); var new_row = x.rows[1].cloneNode(true); var len = x.rows.length; new_row.cells[0].innerHTML = len; var inp1 = new_row.cells[1].getElementsByTagName('input')[0]; inp1.id += len; inp1
  • Variations Javascript not working when single_product_content is loaded via Ajax (WooCommerce)
    In my WooCommerce Shop Templates I am loading the single-product-content dynamically in the archive-product.php page with Ajax. This part is working. But the javascript to choose the product variations is missing so I tried to add the script to the html after the successful ajax request. I could load the script but I still can not choose a product variation. No events are triggered. Seems like I am missing something... My Javascript: jQuery('.project-preview').on('click',function(){ var theId = $(this).attr('data-project-id'); var div = $('#product-container'); $.ajax({ type: "POST", url
  • Browser not loading HTML response after doing jquery.ajax POST to a servlet
    I am having trouble loading some html that is returned by a servlet after doing a jquery.ajax post of mutliple files. I can upload the files (pictures) just fine. I have a servlet that does some processing of the photos and extracts some metadata from the pictures. After processing the photos I want to pass some of the extracted metadata on to a JSP to eventually be returned to the browser. All of this works fine. I load up the request object with my data and I redirect it to my JSP. However... whenever the JSP responds to the browser, the page doesn't get loaded. Using firebug I can see that
  • 使用 jquery 或 javascript 解析 cdata 中的 html(parse html inside cdata using jquery or javascript)
    问题 我收到了一个看起来像这样的网站提要 <rss...> <title> some title </title> <content> <![CDATA[ <div>this tag is ignored<div> who took the cookie in the cookie jar!? ]]> </content> </rss> 我需要在 html 中显示 cdata 的全部内容。 我正在使用 jquery 1.9.1,当我使用$(xml).find('rss content').text()获取内容部分时,它实际上忽略了整个<div>this tag is ignored<div>部分。 有什么方法可以使用 javascript 或 jquery 获取 CDATA 中的所有内容? 回答1 jQuery 可能不会将您的标记解析为 XML。 尝试显式调用 $.parseXML(): var contentText = $($.parseXML(xml)).find("rss content").text(); 回答2 底线: xmlDoc.getElementsByTagName("content")[0].childNodes[0].nodeValue 工作代码中的这个片段使用 jquery 加载 xml,然后获取第 4 次出现的内容标签(其中包含 CDATA) var
  • Silverlight Web 部件在用户单击页面之前不会加载(Silverlight Web Part not loading until user clicks on page)
    问题 我正在维护一个在 SharePoint 中作为 Web 部件运行的 Silverlight 4 应用程序。 但是,我在 Internet Explorer(版本 10 和 11)中加载它时遇到问题。 用户必须单击网页或点击选项卡才能实际加载 Silverlight Web 部件。 但是,这在 Chrome 中不是问题。 当页面最初加载时,有一个 silverlight.js 脚本运行,但它似乎(在 Fiddler 中)在用户单击或点击页面上的选项卡之前不会调用 XAP。 到目前为止,我已经尝试在使用和不使用 ActiveX 的情况下加载页面。 此外,我尝试使用我自己的 JavaScript 文件运行页面以单击并将焦点放在页面中的各种元素上,但到目前为止还没有运气。 我注意到在对以下 Stack Overflow 问题的评论中简要引用了此问题:为什么我的 Silverlight 应用程序无法在 Internet Explorer 中加载?,但我尚未找到针对此特定问题的任何解决方案。 有什么建议? 回答1 我读过如果您设置对象标签的高度和宽度或从其 DIV 容器中删除对象标签,这可以解决问题。 如果这对您来说更容易,那么您可能想先尝试一下。 但是,我用一点 javascript 解决了这个问题。 我使用了 JQuery,但你可能可以用纯 javascript 做类似的事情。