如果Javascript中的语句(文本存在于iframe中),Iframe无法正常工作

时间:2014-07-11 11:52:48

标签: javascript jquery iframe

您好我是这个网站的新手,并试图在这个小问题上得到一些帮助。

我正在尝试查看iframe中是否存在一组文本(已添加列表),然后对其执行某些操作(如果存在等)

我已经读过有两种方法可以做到这一点

第一$('#my_iframe:contains("I am a simple string")')

第二$('#my_iframe').contents().find().text('my text').length>0

我尝试了两个,我遇到的问题是我的if语句不起作用。如果文本存在与否,它将进入第一个条件。

谢谢你的时间!

这是我的代码

<script>        
    $(function(){
        $('#myiframe').load(function(){
        if ($('#myiframe:contains("Listing Added")')){
            document.getElementById('result').innerHTML = "Listing Added!"
        }
        else{
            document.getElementById('result').innerHTML= "Listing not Added"}
        });
    });       
</script>

2 个答案:

答案 0 :(得分:0)

  1. 如果iFrame中的页面不是来自脚本的同一来源(协议,端口和URL),那么就忘了它
  2. 你可能已经太迟了.load因为你之前没有分配事件处理程序 页面已加载
  3. 假设文字在一个范围内

    $(function() {
      var $container = $("#myiframe").contents().find("span:contains('Listing Added')"),
          added = $container.length>0?" ":" not ";
      $("#result").html("Listing"+added+"Added!");
    });
    

    但为什么不呢

     $(function() {
       $.get("mylist.ext",function(data) { // or $.post if needed
         var added = data.indexOf("Listing Added") !=-1;
         $("#result").html("Listing"+(added?" ":" not ")+"Added");
         $("#someContainer").html(data); // instead of iframe
       });
     });
    

答案 1 :(得分:0)

 <script >


        $('#myiframe').load(function(){
   if($("#myiframe").contents().text().search("Added")>=1){


         $("#result").html("Listing Added!");
    }
        else{

                   $("#result").html("Listing Not Added!");}

          });


    </script>