我已经完成了一些基于网络的项目,我遇到的大多数困难(问题,混淆)都可以在帮助下找到.但是我仍然有一个重要的问题,即使在询问了一些有经验的开发人员之后:当使用服务器端代码和客户端脚本(JavaScript)实现功能时,应该首选哪一个?
一个简单的例子:
要渲染一个动态HTML页面,我能格式化服务器端代码(PHP,Python)的页面,并(在客户端更多的逻辑在服务器端,以下)使用Ajax来获取格式化的页面直接呈现它.
我还可以使用Ajax来获取数据(未格式化,JSON),并使用客户端脚本来格式化页面,并与更多的处理使得它(服务器从一个数据库或其他来源的数据,并将其返回给客户端使用JSON或XML.客户端更多逻辑,服务器更少逻辑.
那么我怎样才能决定哪一个更好?哪一个提供更好的性能?为什么?哪一个更方便用户?
随着浏览器的JS引擎的发展,JS可以在更短的时间内解释,所以我更喜欢客户端脚本吗?
另一方面,随着硬件的发展,服务器性能不断提高,服务器端逻辑的成本也会降低,所以我更喜欢服务器端脚本?
编辑:
有了答案,我想简要总结一下.
客户端逻辑的优点:
服务器端逻辑的优点:
在面对特定情况时,我们似乎需要平衡这两种方法.但是怎么样?什么是最佳做法?
除以下条件外,我将使用客户端逻辑:
我已将Vimeo合并到我正在构建的WordPress主题中,并且我收到以下错误:
不安全的JavaScript尝试与URL访问框架 http://themes.ibrogram.com/beta/blog/从框架与URL http://player.vimeo.com/video/4749536.域,协议和端口必须匹配.
不安全的JavaScript尝试与URL访问框架 http://themes.ibrogram.com/beta/blog/从框架与URL http://player.vimeo.com/video/28496744?title=0&byline=0&portrait=0.域,协议和端口必须匹配.
它(我认为)也是页面仍然加载的原因:http://themes.ibrogram.com/beta/blog/
我正在尝试将Facebook登录系统实施到我的网站中.
当它尝试连接到Facebook时,我从控制台日志中收到错误:
Unsafe JavaScript attempt to access frame with URL https://s-static.ak.fbcdn.net/connect/xd_proxy.php?xxxxxxxxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)
我正在使用JavaScript SDK
我在body标签中添加了这个:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'xxxxxxxxxxxxxx',
status : true,
cookie : true,
xfbml : true
});
};
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
Run Code Online (Sandbox Code Playgroud)
Facebook登录按钮:
<div class="fb-login-button" data-perms="email">Login with Facebook</div>
Run Code Online (Sandbox Code Playgroud)
我从本地主机测试-我有我的注册在Facebook网站开发的应用程序(网站网址:http://localhost)
如何解决这个问题?或者我应该使用PHP SDK?
编辑:当我上传到具有公共域的服务器时出现同样的问题.
我正在尝试为我的某个页面创建一个欢迎选项卡,但我希望能够访问用户喜欢(权限user_likes).
我只能找到关于如何为Facebook 应用程序或集成Facebook的网站执行此操作的文档,我找不到有关如何为Facebook 页面内的应用程序(选项卡)执行此操作的文档(作为欢迎选项卡).
是否有可能作为页面选项卡从用户请求额外的权限,但允许页面访问没有它,或者是一个案例或我必须创建一个应用程序以及页面选项卡?我可能有一个按钮,当他们点击它时授予页面额外的权限?
我目前正在尝试两个单独的实现,我都无法工作,PHP和Javascript.
谢谢,
只是用
$loginUrl = $fb->getLoginUrl(
array('canvas' => 1, 'scope' => 'user_likes,user_about_me,user_birthday')
);
echo "<a href='$loginUrl'>Login</a>";
Run Code Online (Sandbox Code Playgroud)
链接中的结果,只是将用户(在页面iframe内)重定向到带有Facebook徽标的屏幕.我想要一个权限对话框!

使用javascript代码
<script>
FB.init({
appId : 'APPID',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true, // parse XFBML
oauth : true // enable OAuth 2.0
});
FB.login(function(response) {
if (response.authResponse) {
console.log('Welcome! Fetching your information.... ');
FB.api('/me', function(response) { …Run Code Online (Sandbox Code Playgroud)