js / jquery异步内容覆盖页面

时间:2015-09-01 18:17:02

标签: javascript jquery ajax

我遇到了以下问题,也许有人可以给我一点建议或解决这个问题。我有以下问题:

我的网页合作伙伴向我提供了一个我应该在我的网页上使用的代码,该代码会将一些内容写入我真正想要的网页。

不幸的是,此内容仅与居住在某个地区的人有关。 所以我正在使用ip-api的服务,它返回当前用户所在的区域并允许我使用它。这是通过jsonp ajax调用完成的。 如果Person在正确的区域,则应该执行Code,如果不是,则不应该执行。

问题是要执行的代码包含document.write。因此,如果我在ip-api回调中调用该代码,则文档已经全部加载,document.write将覆盖我的页面。

所以最大的问题是:有没有办法将document.write输出捕获到像PHP输出缓冲区这样的变量中?或者也许某种方式来覆盖iframe的内容而不是整个页面的内容?任何阻止document.write覆盖页面并将其输出重定向到我的页面的一部分的东西就足够了。

感谢您的时间:)

PS:这是我正在谈论的代码:

        $.ajax({
            url: "http://ip-api.com/json/",
            dataType: "jsonp",
            success: function( response ) {
                if(
                        response["city"]=="Hamburg" ||
                        response["region"]=="SH" ||
                        response["region"]=="NW"

                ){
                    document.write("Some Content here");
                }
            }
        });

1 个答案:

答案 0 :(得分:2)

替换

document.write("Some Content here");

$('#my-container').html('Some content here');