使用$(this)与此相比有什么根本区别
$('.viewComments').click(function(ev){
//returns the desired value
alert(this.getAttribute('id'));
//Gives an error sayin function is not defined
alert($(this).getAttribute('id'));
//returns the desired value
alert($(this).attr('id'));
});
Run Code Online (Sandbox Code Playgroud)
我认为"$(this)"将包含"this"具有的所有功能以及更多..但似乎并非如此.
那么究竟是什么(这个)?和
我在使用它时知道哪些功能可用吗?(我知道我可以通过萤火虫来获取它们.但我想知道是否有其他方式 - 某些文档可能是)
我有一个静态网站,一个托管在CDN上的SPA - 基本上是一个单一的index.html,其内容区域根据网址中的哈希值进行更新.我需要为FB共享者找到一种方法来显示SPA中当前加载的主要内容的标题和描述
用简单的话说,Facebook共享可以抓取页面来查找og元标记并缓存它们.当我们尝试共享网址/页面时,会显示此信息.
<meta property="og:url" content="http://www.siteurl.com" />
<meta property="og:title" content="My Site" />
<meta property="og:image" content="Site-img.jpg" />
<meta property="og:description" content="Description" />
Run Code Online (Sandbox Code Playgroud)
我尝试使用javascript设置元标记,但最终在抓取时实现,Javascript未执行,因此使用javascript修改元标记是没有用的.另一个解决方案是在页面加载之前从后端设置og标记,但是在CDN上托管,没有服务器端支持来做到这一点.
关于如何解决这个问题的想法?
javascript facebook opengraph facebook-graph-api single-page-application
有没有办法可以为dojo配置添加新包?我知道我可以这样做:在dojo.js加载时添加包.
<script src='dojo_1.7.2/dojo/dojo.js'
data-dojo-config="async:true,isDebug:true,parseOnLoad:false,
packages:[{name:'project1',location:'../../js/proj1'},
{name:'common',location:'../../common'}]"></script>
Run Code Online (Sandbox Code Playgroud)
我希望能够在运行时添加新包.
dojo.registerModulePath在dojo1.6之前完成了这项工作(我认为),但现在已经弃用了1.7
我正在使用dojo 1.7.2.
谢谢.