它花了我一点点,但我发现我无法点击我的输入,因为我正在使用touch.punch脚本在触摸设备上启用jquery UI拖动功能.熟悉这个脚本的人知道为什么会这样吗?表单实际上位于父对象的树下.有没有人知道我可以覆盖或强制选择的方式?我将尝试绑定事件,立即强制关注输入,但也许有人在这里有一些见解?
也许有人可以在这里指出我可能做错了什么.我正在搞乱Google API和OAuth,所以我可以通过谷歌将用户注册到我的应用程序.我发现他们提供的PHP非常繁琐,所以我决定更多练习执行https请求等.到目前为止,我已经取得了一些成功,但获取令牌以交换用户信息的最后一步需要POST方法.只需重定向浏览器,使用GET方法复制最终URL会返回错误.我即将开始在cURL扩展中挖掘,但也许有人可以发现这段代码有什么问题?
$url = "https://accounts.google.com/o/oauth2/token";
$fields = array(
'code' => $_GET['code'],
'client_id' => $google['clientID'],
'client_secret' => $google['clientSecret'],
'redirect_uri' => "http://www.qwiku.com/scripts/php/google/reg_response.php",
'grant_type' => "authorization_code"
);
$data = http_build_query($fields);
echo $data."<br />";
$context = stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => 'Content-Type: application/x-www-form-urlencoded',
'content' => $data
)
));
$result = file_get_contents($url, false, $context);
var_dump($result);
Run Code Online (Sandbox Code Playgroud)
结果转储是错误的.你可以在这里看到谷歌文档,但我99%肯定数据是否正确.http://code.google.com/apis/accounts/docs/OAuth2WebServer.html#formingtheurl
UPDATE
我现在正在使用curl,它似乎正在工作.唯一的问题是谷歌返回错误"invalid_grant".不知道为什么它被设置为他们指定的.
$url = 'https://accounts.google.com/o/oauth2/token';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
Run Code Online (Sandbox Code Playgroud)
更新2
我刷新整个过程,因为我只是刷新重定向和宾果游戏,它正在工作.代码必须已过期.
我正在尝试编写一个模拟占位符的简单脚本,以便我可以在所有浏览器上使用该效果.我设置的是一个带有跨度的表单,其中包含一些文本,我绝对定位于输入.这类似于占位符文本.
现在Jquery很简单,如果我为每个输入元素写出单独的函数,我就可以正常工作,但这有点多余.我想要做的是使用each()和children()以及类,以便我可以将它应用于我想要的任何形式.这是代码:
<form id="signupForm" name="signupForm">
<span class="inputSpan">
<input value="" class="input" name="fistName" id="firstName" type="text" />
<span class="inputText" id="inputText">First name</span>
</span>
<span class="inputSpan">
<input value="" class="input" name="lastName" id="lastName" type="text" />
<span class="inputText" id="inputText">Last name</span>
</span>
</form>
<script type="text/javascript">
$('.inputSpan').each(function() {
$(this).children('.inputText').click(function(index) {
$(this).children('.inputText').hide();
$(this).children('.input').focus();
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
如果我在每个函数中放置一个警告语句,它可以正常工作,但它没有执行其余部分,即隐藏子类'.inputText'并专注于另一个子'.input'我猜它有什么东西一旦在函数内部再次调用$(this)就无法做到.任何人对如何让这个工作有任何想法?
解决了!!!谢谢Matt 这是最终的工作代码,如果输入留空,则将占位符文本放回原位.
<script type="text/javascript">
$('.inputSpan').each(function() {
var $input = $(this)
$(this).children('.inputText').click(function(index) {
$input.children('.inputText').hide();
$input.children('.input').focus();
});
$(this).children('.input').focusout( function() {
if ($input.children('.input').attr('value') == '') {
$input.children('.inputText').show();
}
});
});
</script>
Run Code Online (Sandbox Code Playgroud) 似乎无法弄清楚这里发生了什么.
<div id="navigation">
<ul id="navList">
<li class="navItem"><a href="http://www.jacobsmits.com/placeholderRX.html">Discover</a></li>
<li class="navItem"><a href="http://www.jacobsmits.com/placeholderRX/documentation.html">Documentation</a></li>
<li class="navItem"><a href="http://www.jacobsmits.com/placeholderRX/download.html">Download</a></li>
<li class="navItem"><a href="http://www.jacobsmits.com/placeholderRX/donate.html">Donate</a></li>
</ul>
<script type="text/javascript">
$('.navItem').each(function() {
$link = $(this).children('a');
$link.hover(
function() {
$link.css('width', '224px');
},
function() {
$link.css('width', '192px');
}
)
});
</script>
</div>
Run Code Online (Sandbox Code Playgroud)
它应该为每个链接执行它,而不是只更改最后一个链接,无论哪个链接正在悬停.
我做了一个快速的功能,使用AJAX检查页面上的每个链接,看看它们是否仍然有用.这似乎有效,但它正在为每一个添加成功和错误类.如果AJAX响应是404,我怎样才能使错误回调函数抛出?
$('li').each(function(){
$(this).children('a').each(function(){
$.ajax({
url:$(this).attr('src'),
success:$(this).addClass('success'),
error:$(this).addClass('error')
})
})
});
Run Code Online (Sandbox Code Playgroud) 我希望有人可以看看我的网站并告诉我这里可能会发生什么.我遇到的问题是#bodyWrap div不会自动伸展到其中一个孩子的高度#contentWrap.#contentWrap可以很好地填充该页面上的所有内容,但这不会冒泡到父对象#bodyWrap.提前感谢您的任何见解.
我正在使用Google PHP API.文档相当平淡...我希望允许用户连接他们的Google+信息,并使用它来在我的数据库中签署用户.为此,我需要获取他们用于Google帐户的电子邮件.我似乎无法弄清楚如何.当用户连接到我的应用程序时,通过强制许可在Facebook上很容易.任何人都有任何想法?这是我用来抓取用户google +个人资料的代码,它工作正常,除非用户可能没有列出他们的电子邮件.
include_once("$DOCUMENT_ROOT/../qwiku_src/php/google/initialize.php");
$plus = new apiPlusService($client);
if (isset($_GET['code'])) {
$client->authenticate();
$_SESSION['token'] = $client->getAccessToken();
header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']);
}
if (isset($_SESSION['token'])) {
$client->setAccessToken($_SESSION['token']);
}
if ($client->getAccessToken()) {
$me = $plus->people->get('me');
print "Your Profile: <pre>" . print_r($me, true) . "</pre>";
// The access token may have been updated lazily.
$_SESSION['token'] = $client->getAccessToken();
} else {
$authUrl = $client->createAuthUrl();
print "<a class='login' href='$authUrl'>Connect Me!</a>";
}
Run Code Online (Sandbox Code Playgroud)
如果没有用户的电子邮件地址,就会失去允许用户注册Google+的目的.任何更熟悉Google API的人都知道如何获得它?
我正在尝试包装我的脚本placeholderRX.我需要做的就是从此调用返回的字符串末尾获取'px'.
$(form).children('.inputSpan').each(function() {
var $input = $(this)
var $padding = $input.children('.input').css('padding-left');
});
Run Code Online (Sandbox Code Playgroud)
这将返回"6px".我想关闭6 px并确保它是一个整数,这样我就可以添加2个像素并将其提供给css规则.我是javascript中字符串操作的新手.帮帮我!
好吧,所以我一直在写Backbone.js应用程序超过一年了,我喜欢框架模型.我已经学会了如何避免所有的陷阱等等,但是作为一个单页应用程序开发人员,我还有一个领域仍然很弱:如何搜索面向公众的应用程序.
我正在开发一个博客项目,我想到的最简单的解决方案是让所有博客条目的服务器生成列表显示为/blog
页面加载时呈现的部分的链接,并确保在访问/blog/:id
URL时,服务器将博客内容加载到页面上的第一个div中,该div将设置为display:none
.
我的问题是,这对于一个好的搜索引擎索引是否足够?SEO仍然是我作为开发人员最薄弱的技能.是否有技术可以确保搜索引擎首先抓取此内容,并且能够将该内容用于更复杂的索引?
另外,有没有办法将页面上生成的应用内容列入黑名单,因为我知道Google一直在测试抓取的JavaScript应用?在我看来,如果没有某种标准的浏览器级别事件可以在整页渲染时或者在加载所有数据之后触发,那么它就无法在这个级别完成.
无论如何,这更像是一个我知道的模糊票,但如果我们在这里得到一些好的答案,它最终可能对未来的人有用.
这是我遇到的最奇怪的错误,我在这里结束了.它只是从脚本开始,甚至知道我改变的唯一事情是在名字和姓氏变量上运行大写功能.
问题在于"$ lname"变量.我已经在调试中得到了脚本,并且我在每个进程中都回显了"$ lname",并且只有在我将它设置为_SESSION变量后才会变为数组.我所做的一切似乎都没有用.每次用户返回表单时,它都会取消设置所有会话变量,但我甚至尝试更改"$ _SESSION ['reglname']的名称;我仍然会发生同样的事情.
我在这里结束了,如果你仔细阅读,你可以看到我已经尝试了所有的东西来强制它作为一个字符串.我想我可以编辑后续脚本来说明它是一个数组,但我宁愿弄清楚这里发生了什么,所以我可以在将来避免它!请帮忙!
//Start session
session_start();
unset($_SESSION['ERRMSG_ARR']);
//Include database connection details
require_once("$DOCUMENT_ROOT/../SQLlogin.php");
//Array to store validation errors
$errmsg_arr = array();
//Validation error flag
$errflag = false;
//Connect to mysql server
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link) {
die('Failed to connect to server: ' . mysql_error());
}
//Select database
$db = mysql_select_db(DB_DATABASE);
if(!$db) {
die("Unable to select database");
}
//Function to sanitize values received from the form. Prevents SQL injection
function clean($str) {
$str = @trim($str);
if(get_magic_quotes_gpc()) …
Run Code Online (Sandbox Code Playgroud)