坚强的脚本回调...

来源:互联网 发布:孙圳的淘宝店叫什么 编辑:程序博客网 时间:2024/04/26 11:04

<script type="text/javascript">
var callbackJS = function (param) {
 
 var charset = param.charset || 'gb2312';
 
 if (/MSIE/.test(window.navigator.userAgent)) {
  var frag = document.createDocumentFragment(), script = frag.createElement('script');
  script.charset = charset;
  frag[param.name] = function () {
   param.callback && param.callback.apply(null, arguments);
   frag = script = script.onreadystatechange = frag[param.name] = null;
  };
  script.onreadystatechange = function () {
   if (script.readyState == 'loaded') {
    param.errorcallback && param.errorcallback();
    frag = script = script.onreadystatechange = frag[param.name] = null;
   }
  };
  script.src = param.url;
  frag.appendChild(script);
 } else {
  var iframe = document.createElement('iframe');
  iframe.style.display = 'none';
  
  iframe.callback = function () {
   param.callback && param.callback.apply(null, arguments);
   iframe.callback = iframe.errorcallback = null;
   iframe.src = 'about:blank', iframe.parentNode.removeChild(iframe), iframe = null;
  };
  iframe.errorcallback = function () {
   param.errorcallback && param.errorcallback();
   iframe.callback = iframe.errorcallback = null;
   iframe.src = 'about:blank', iframe.parentNode.removeChild(iframe), iframe = null;
  };
  try {
   document.body.appendChild(iframe);
   iframe.contentWindow.document.write(
    '<script type="text//javascript">function ' + param.name + '() { window.frameElement.callback.apply(null, arguments); }<//script>'
    + '<script type="text//javascript" src="' + param.url + '" charset="' + charset + '"><//script>'
    + '<script type="text//javascript">window.setTimeout("try { window.frameElement.errorcallback(); } catch (exp) {}", 1)<//script>'
   );
   iframe.contentWindow.document.close();
  } catch (exp) {}
 }
};

window.onload = function () {
 callbackJS({
  name : '_Callback'
  , charset : 'gb2312'
  , url : 'http://b.qzone.qq.com/cgi-bin/blognew/blog_get_data?uin=185591441&numperpage=15&blogid=1200979684&arch=0&pos=0&direct=1&r=0.9963684245893007'
  , callback : function () { alert(arguments[0].data.title); }
  , errorcallback : function () { alert(0); }
 });
};
</script>

原创粉丝点击