Javascript 打印数据而不是警报

Javascript 打印数据而不是警报,javascript,facebook,fbjs,facebook-fql,Javascript,Facebook,Fbjs,Facebook Fql,我使用javascript通过javascript sdk从facebook获取一些数据: window.fbAsyncInit = function() { FB.init({appId: '111164862286924', status: true, cookie: true, xfbml: true}); /****************************************/ FB.api('/f8', function(response

我使用javascript通过javascript sdk从facebook获取一些数据:

window.fbAsyncInit = function() {
    FB.init({appId: '111164862286924', status: true, cookie: true,
             xfbml: true});
/****************************************/

FB.api('/f8', function(response) {
  alert(response.company_overview);
});

/****************************************/
  };
  (function() {
    var e = document.createElement('script'); e.async = true;
    e.src = document.location.protocol +
      '//connect.facebook.net/en_US/all.js';
    document.getElementById('fb-root').appendChild(e);
  }());
此代码工作正常,但如果我使用documen.write更改警报以打印数据,而不是在弹出窗口中显示数据,则该代码似乎不再工作。它不打印任何东西。有人能告诉我原因吗


提前感谢

您不能使用
文档。请在页面初始解析完成后编写
。不过幸运的是,没有特别的理由这么做

如果页面上有一个元素,并且希望附加到该元素,则可以执行以下操作:

var parent = document.getElementById('theId');
var p = document.createElement('p');
p.innerHTML = "This is the <em>new content</em>.";
parent.appendChild(p);
类似地,如果要替换元素的内容,只需获取对它的引用(如果元素有ID,则使用
getElementById
是一种方便的方法,但还有其他方法)并更新它,而不是附加到它:

var target = document.getElementById('targetId');
target.innerHTML = "This is the <em>updated content</em>.";
var target=document.getElementById('targetId');
target.innerHTML=“这是更新的内容。”;

更多关于
document.write
document.write
实际写入HTML解析器正在解析的HTML流。当然,一旦页面呈现完成,就不再解析HTML流。但是上面的DOM方法可用于在呈现页面后操作页面上的内容



主题外:如果您使用诸如、、或之类的库,则DOM操作和DOM搜索(查找要更新的元素)都会变得更容易(尤其是跨浏览器时更容易),这些库将提供语法上的支持和解决浏览器异常问题的方法,等等。

您不能使用
文档。请在页面初始解析完成后编写
。不过幸运的是,没有特别的理由这么做

如果页面上有一个元素,并且希望附加到该元素,则可以执行以下操作:

var parent = document.getElementById('theId');
var p = document.createElement('p');
p.innerHTML = "This is the <em>new content</em>.";
parent.appendChild(p);
类似地,如果要替换元素的内容,只需获取对它的引用(如果元素有ID,则使用
getElementById
是一种方便的方法,但还有其他方法)并更新它,而不是附加到它:

var target = document.getElementById('targetId');
target.innerHTML = "This is the <em>updated content</em>.";
var target=document.getElementById('targetId');
target.innerHTML=“这是更新的内容。”;

更多关于
document.write
document.write
实际写入HTML解析器正在解析的HTML流。当然,一旦页面呈现完成,就不再解析HTML流。但是上面的DOM方法可用于在呈现页面后操作页面上的内容



主题外:如果您使用诸如、、或之类的库,则DOM操作和DOM搜索(查找要更新的元素)都会变得更容易(尤其是跨浏览器搜索)如果您希望只输出测试值,则会有语法糖和解决浏览器异常等问题的方法。

。我建议IE使用Console.JS,Firefox使用Firebug。它们支持一个名为
console.log()
的函数,该函数将跟踪输出到调试窗口。

如果您希望只输出测试值。我建议IE使用Console.JS,Firefox使用Firebug。它们支持一个名为
console.log()
的函数,该函数将跟踪输出到调试窗口