相关疑难解决方法(0)

获取跨域iframe的DOM内容

我有一个跨域网站的iframe.我想读取iframe的DOM,我认为这是可能的,因为使用检查器,我甚至可以修改iframe的DOM.然而,我试图阅读它的每一种方式,我都遇到了相同的原始政策.我想要的只是从iframe加载到我的本地DOM中的内容.我以为它会那么简单$(document.body).find('iframe').html(),但那会返回空字符串.

我真的希望有一种方法可以做到这一点,因为我过去几天一直在做的工作是基于这种可行性.

谢谢

html javascript iframe jquery html5

71
推荐指数
4
解决办法
15万
查看次数

如何在返回响应之前获取AJAX get-request以等待呈现页面?

我正在为此站点(Site1)中的页面编写Greasemonkey脚本.Site1有各种交易和优惠,我的GM脚本旨在执行以下操作:

当访问Site1上的商品时,脚本会查询 Site2以查明该商店是否也列在Site2上.如果是这样,请在Site1上显示Site2的搜索结果.

问题是Site2显示进度条("加载结果"),然后显示结果.因此,我的Ajax请求总是返回空结果,看起来像这样(参见红色框部分):(
点击查看大图)未完成的结果


但是,它实际上应该具有Site2搜索结果的完整内容,如下所示:(
点击查看大图)完成结果


我尝试过同步Ajax请求GM_xmlhttpRequest,但无济于事.

这是Site 2的问题进度条:(
点击查看大图)状态栏


在将响应返回到Site1之前,如何让AJAX请求等待Site2上的搜索完全呈现?

作为参考,我的完整工作脚本代码位于pastebin.com.

这是相关的片段:

$(document).ready(function(){   
var rewardsSiteResults = $('<div class="panel deal-panel rc-lr"></div>').attr('id', "rewardsSiteResults")
        .html("<p>" + progressMessageText + "</p> ").append(spinnerGif);
$(insertSelector).after(rewardsSiteResults);

var addressMap = getAddressOfHotel();
var pinCode = addressMap[pinCodePlaceHolder];
var hotelName = addressMap[hotelNamePlaceHolder];
var queryURL = constructQueryURL(pinCode, hotelName);

$.ajaxSetup({async:true, timeout: 5000});
$.get(queryURL,null, function(response) {
    if(!displayed){
        displayed=true;
        //rewardsSiteResults.html("adfaasddsf");
        var text = $(response).find("#col2");
        $(text).find("script").remove();

        //console.log(text.html())
//          $('<iframe id="someId"/>').appendTo('#rewardsSiteResults')
//          .contents().find('body').append(response);
        rewardsSiteResults.html("<div class='panel deal-panel rc-lr'>" …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery greasemonkey tampermonkey

7
推荐指数
1
解决办法
3056
查看次数

javascript - 从iframe中的元素获取数据

我有这个<iFrame>[name ="data"],页面显示一个<span>,id ="weergave_percentage".我希望将该范围内的数字转换为javascript函数.我目前做了这个,但它返回:null

var percentage = window.frames['data'].document.getElementById('weergave_percentage');
alert(percentage);
Run Code Online (Sandbox Code Playgroud)

我做错了什么,我怎么能做我想做的事?

注意:包含数据的范围仅包含数字(浮点数),并且不包含任何其他类型的HTML格式.另外,我在iFrame的代码之后添加了一段javascript,以确保在我尝试从iFrame获取数据时加载了iFrame.此外,iFrame的src与主页面位于同一个域中.

javascript iframe getelementbyid

3
推荐指数
1
解决办法
1万
查看次数