GVKun编程网logo

javascript – 什么时候实际使用ChannelUrl?(js什么时候会用到闭包)

16

对于想了解javascript–什么时候实际使用ChannelUrl?的读者,本文将提供新的信息,我们将详细介绍js什么时候会用到闭包,并且为您提供关于asp.net中怎样用Javascript控制R

对于想了解javascript – 什么时候实际使用ChannelUrl?的读者,本文将提供新的信息,我们将详细介绍js什么时候会用到闭包,并且为您提供关于asp.net中怎样用Javascript控制RequiredFieldValidator控件什么时候启用,什么时候不启用验证?、Java URLConnection-什么时候需要使用connect()方法?、javascript – Pickadate – 如何实际使用所选日期?、javascript – 为什么建议避免.innerHTML?的有价值信息。

本文目录一览:

javascript – 什么时候实际使用ChannelUrl?(js什么时候会用到闭包)

javascript – 什么时候实际使用ChannelUrl?(js什么时候会用到闭包)

有人知道传递给FB.init的ChannelUrl参数是否实际上由fb js sdk使用?我可以看到它在我们的Nginx日志文件中受到打击,它似乎来自IE8用户,但我似乎无法手动重新创建它.我有一个粉丝页面iframe应用程序,像按钮和评论插件.

解决方法

你可以看到这篇文章.这是很好的解释.

https://developers.facebook.com/blog/post/2011/08/02/how-to–optimize-social-plugin-performance/

此帖子链接可能会在将来更新.所以我从FB开发者博客中复制粘贴整个帖子,给作者完全信用.

方法:优化社交插件性能
作者:Ankur Pansari – 2011年8月3日上午12:00

数百万个网站使用XFBML来呈现社交插件.我们想分享一些可以提高网站性能的最佳做法.具体来说,我们提供自定义的channelUrl和异步加载,在使用时,它将提高加载时间,并减少其他问题,如重新计算来自Facebook的引用流量.

自定义渠道网址是名为channelUrl的FB.init函数中的可选参数.初始化JavaScript库时,请在FB.init函数中添加channelUrl参数:

<div id="fb-root"></div>
 <script src="//connect.facebook.net/en_US/all.js"></script>
 <script>
   FB.init({
     appId  : 'YOUR APP ID',status: true,// check login status
     cookie: true,// enable cookies to allow server to access session,xfbml: true,// enable XFBML and social plugins
     oauth: true,// enable OAuth 2.0
     channelUrl: 'http://www.yourdomain.com/channel.html' //custom channel
   });
 </script>

channelUrl指向您添加到本地目录的文件,有助于提高某些旧版浏览器的通信速度.没有channelUrl,我们被迫使用解决方法,例如在隐藏的iframe中加载网页的第二个副本,以正确加载社交插件.解决方法增加了加载时间,并增加了来自Facebook的引荐流量.

要创建一个channel.html文件,请将以下行添加到文件(位于http://www.yourdomain.com/channel.html):

<script src="//connect.facebook.net/en_US/all.js"></script>

如果您有能力运行PHP,我们强烈建议为channelUrl文件设置长缓存,以确保最佳性能.这是一个完成这个的PHP脚本示例:

<?PHP
  $cache_expire = 60*60*24*365;
  header("Pragma: public");
  header("Cache-Control: maxage=".$cache_expire);
  header('Expires: '.gmdate('D,d M Y H:i:s',time()+$cache_expire).' GMT');
?>

<script src="//connect.facebook.net/en_US/all.js"></script>

在这种情况下,您也应该将channelUrl文件设置为完全限定的URL,如http://www.yourdomain.com/channel.php.

在我们的测试中,添加一个自定义的channelUrl可以提高Internet Explorer的性能,因此我们建议所有的开发人员包含它.当包含参数时,Internet Explorer会产生统计显着的性能提升,其中具有5个XFBML插件的测试网站的加载时间从1.10秒提高到0.43秒.

异步加载是另一种简单的策略,允许您的页面加载快速,而不会阻止页面的其他元素的加载.成功加载JS SDK后,我们调用window.fbAsyncInit函数.依赖于Facebook API调用的所有前端功能都应该分开,并通过window.fbAsyncInit调用.这样可确保Facebook功能以非阻塞的方式加载,并加快其渲染速度,具有积极的SEO优势.在设计社交功能时,您应该以这种心态来开始.

例如:

<html xmlns:fb="https://www.facebook.com/2008/fbml">
<body>
<div id="fb-root"></div>
<script>
  /* All Facebook functions should be included 
     in this function,or at least initiated from here */
  window.fbAsyncInit = function() {
    FB.init({appId: 'your app id',cookie: true,xfbml: true});

    FB.api('/me',function(response) {
      console.log(response.name);
    });
  };
  (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);
  }());
</script>
</body>
<html>

我们更新了我们的文档,以反映这些选项的重要性,并将默认示例代码更改为包含一个channelUrl.我们正在继续更新我们的文档,作为“操作开发者爱”的一部分,并通过“How-To”博客文章分享更多最佳实践.

asp.net中怎样用Javascript控制RequiredFieldValidator控件什么时候启用,什么时候不启用验证?

asp.net中怎样用Javascript控制RequiredFieldValidator控件什么时候启用,什么时候不启用验证?

Enable/disable requiredFieldValidator with Javascript

 

document.getElementById("requiredfieldvalidatorid").enabled = false;

 

<asp:DropDownList ID="ddlServiceName" runat="server" onchange='var DateValidator = document.all ? document.all["DateValidator "] : document.getElementById("DateValidator ");DateValidator .enabled = false;'></asp:DropDownList>

Java URLConnection-什么时候需要使用connect()方法?

Java URLConnection-什么时候需要使用connect()方法?

我在理解类中connect()方法的含义时遇到问题URLConnection。在下面的代码中,如果我使用该connect()方法,则不使用它也会得到相同的结果。

为什么(或何时)需要使用它?

URL u = new URL("http://example.com");
HttpURLConnection conn = (HttpURLConnection) u.openConnection();

conn.connect();//with or without it I have the same result

InputStream in = conn.getInputStream();
int b;
while ((b = in.read()) != -1) {
 System.out.write(b);
}

javascript – Pickadate – 如何实际使用所选日期?

javascript – Pickadate – 如何实际使用所选日期?

我正在实施一个pickadate日期选择器,并且在文档中不清楚如何实际使用用户选择的日期.我写了这个:

$('.datepicker').pickadate({
    onSet: function(context) {
        console.log(context);
    }
});

这会产生奇怪的输出(2015年9月8日):

Object {select: 1441666800000}

这个输出实际上如何使用?

解决方法:

奇怪的数字是以毫秒为单位返回的日期.

在控制台中尝试:

new Date(1441666800000);

// Returns:
// Mon Sep 07 2015 16:00:00 GMT-0700 (PDT)

希望这可以帮助!

javascript – 为什么建议避免.innerHTML?

javascript – 为什么建议避免.innerHTML?

很抱歉,作为一个 JavaScript的noob,但任何人都可以解释为什么建议不要使用.innerHTML.当我们有更快更容易的形式的.innerHTML的东西,为什么我们不应该使用它?

解决方法

innerHTML是大锤.它将鼓除所选DOM元素的内容,并将其替换为当时分配的任何内容.这导致了许多HTML转义和验证问题.

更重要的是,对于大量事件绑定的页面,使用innerHTML附加另一个元素将重新生成DOM元素,这意味着事件绑定可能会丢失.

当元素从DOM中删除时,还有一些问题涉及到旧版本的IE中的内存泄漏.

所有这一切都说,我不告诉你你不应该使用innerHTML.当我使用$(selector).html()时,我一直在jQuery中使用它.有时,大锤是工作的正确工具,当事件被正确委派时,重新加载内容多少也不重要.

我们今天的关于javascript – 什么时候实际使用ChannelUrl?js什么时候会用到闭包的分享已经告一段落,感谢您的关注,如果您想了解更多关于asp.net中怎样用Javascript控制RequiredFieldValidator控件什么时候启用,什么时候不启用验证?、Java URLConnection-什么时候需要使用connect()方法?、javascript – Pickadate – 如何实际使用所选日期?、javascript – 为什么建议避免.innerHTML?的相关信息,请在本站查询。

本文标签: