小编Swe*_*wen的帖子

如何从Google PHP API有效负载中获取其他范围信息?

我正在努力从Google PHP API获取额外的范围信息.我正在使用它与JavaScript一起获取访问令牌(不确定这是否正确,但它适用于我)

我的页面上有一个Google注册按钮,它连接到以下功能.基本上,它获得一个响应令牌,通过AJAX发送到我的PHP服务器.

gapi.load('auth2', function() {
    // Retrieve the singleton for the GoogleAuth library and set up the client.
    auth2 = gapi.auth2.init({
        client_id: 'XXXX',
        cookie_policy: 'single_host_origin',
        // Requesting additional scopes
        scope: 'https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/plus.login'
    });

    auth2.attachClickHandler(document.getElementById('google-login-signup'), {},
        function(googleUser) {

            if ( auth2.isSignedIn.get() ) {

                var data = {
                    'action': 'social_google_login',
                    '_nonce': $('#google-login-signup').attr('data-nonce'),
                    'redirect_to': $('#google-login-signup').attr('data-redirect-to'),
                    'token': googleUser.getAuthResponse().id_token
                }

                $.ajax({
                    url: ajax_url,
                    type: 'POST',
                    data: data,
                    success: function(response) {
                        console.log(response);

                        if ( response.success === true ) {
                            window.location.href = response.data.redirect;                  
                        } …
Run Code Online (Sandbox Code Playgroud)

php google-api google-api-php-client

10
推荐指数
1
解决办法
961
查看次数

样式复选框为切换按钮

在我的网站上,用户可以使用一些预设标签发布文章并相应地标记它们.这些标签采用复选框的形式.示例如下:

<input type="checkbox" name="wpuf_post_tags[]" class="new-post-tags" value="Aliens" /> Aliens
<input type="checkbox" name="wpuf_post_tags[]" class="new-post-tags" value="Ghosts" /> Ghosts
<input type="checkbox" name="wpuf_post_tags[]" class="new-post-tags" value="Monsters" /> Monsters
Run Code Online (Sandbox Code Playgroud)

您可能知道,复选框看起来像这样:

[]外星人

[o]幽灵

[]怪物

我想要的是将复选框设置为一个大按钮,其中包含值.然后让它具有"切换"效果.

[外星人] [幽灵] [怪物]

我该怎么做呢?

html css checkbox toggle

9
推荐指数
2
解决办法
2万
查看次数

如果用媒体查询替换背景图像会加载吗?

我正在创建一个响应式设计,因此我的网站在桌面和移动设备上都能很好地查看.在我的网站上,我的一个div上有一个相当大的背景图像.

现在我一直想知道的是:我的div上的背景图像是否被媒体查询中的颜色替换?

例:

div {
    background: url(img/large-image.jpg);
}

@media screen and (min-width: 240px) and (max-width:830px) {

    div {
        background: #000;
    }
}
Run Code Online (Sandbox Code Playgroud)

css background-image media-queries responsive-design

3
推荐指数
1
解决办法
2400
查看次数

jquery AJAX调用只能工作一次?

我正在设置某种小形式,以确定我的用户想要匿名提交表单,以及他们提交的内容是否为原创内容.

第一个AJAX调用似乎工作正常,但是当通过AJAX从PHP文件加载新内容时,jQuery函数似乎不起作用.

它应该像这样工作.

  1. 它们提供2个选项,使用用户名提交,或匿名提交(单击这些调用对指定PHP文件的AJAX请求)
  2. PHP文件包含另外两个选项(参见下面的示例),名为OriginalExisting.(点击其中任何一个似乎都没有做任何事!)
  3. 最后,应向他们提供他们选择的具体提交表格.

这是我的代码:

jQuery的

    // User
$('#user-submission').on( "click", function() {
    $.ajax({url:'<?php echo get_template_directory_uri(); ?>/submission/user-submission.php',success:function(result) {
        $("#submit-section").html(result).fadeIn('slow');
    }});
}); 
    // Anonymous
$('#anonymous-submission').on( "click", function() {
    $.ajax({url:'<?php echo get_template_directory_uri(); ?>/submission/anonymous-submission.php',success:function(result) {
        $("#submit-section").html(result).fadeIn('slow');
    }});
}); 
    // User -> Original
$('#original-submission-user').on( "click", function() {
    $.ajax({url:'<?php echo get_template_directory_uri(); ?>/submission/original-user-submission.php',success:function(result) {
        $("#submit-section").html(result).fadeIn('slow');
    }});
}); 
    // User -> Existing
$('#original-submission-anonymous').on( "click", function() {
    $.ajax({url:'<?php echo get_template_directory_uri(); ?>/submission/original-anonymous-submission.php',success:function(result) {
        $("#submit-section").html(result).fadeIn('slow');
    }});
}); 
    // Anonymous -> Original …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery

1
推荐指数
1
解决办法
5315
查看次数

AJAX 回调的 PHP 服务器端速率限制?

我将 PHP 与 AJAX 结合使用,以实现我网站上的许多功能。我已经使用 Javascript 在客户端实现了一种速率限制系统。基本上,单击后禁用按钮 1 秒。

虽然这对于更无辜的情况来说效果很好,但我觉得我也需要在服务器端做一些事情来限制请求。

基本上,我希望用户每秒可以进行最大数量的 AJAX 调用。事实上,每秒一个似乎是合理的。

一种方法是以某种方式将每个请求记录到我的 AJAX 回调中,并在发出新请求之前从该表中读取。但这会极大地增加我的服务器和数据库的工作负载。

有没有其他方法可以做到这一点?

PHP

function comment_upvote_callback() {    

    // Some sort of rate limit??


    // $_POST data validation

    // Add upvote to database

    // Return success or error

} 
add_action( 'wp_ajax_comment_upvote_callback', 'comment_upvote_callback' );
Run Code Online (Sandbox Code Playgroud)

jQuery

var is_clicked = false;

if ( is_clicked == false ) {
    $('#comments').on('click', '.comment-upvote', function(event) {
        event.preventDefault();

        // Button disabled as long as isClicked == true
        isClicked = true;

        // Data to be sent …
Run Code Online (Sandbox Code Playgroud)

php ajax wordpress rate-limiting

1
推荐指数
1
解决办法
1027
查看次数

通过将文件拖放到标签上来进行 &lt;input type="file"&gt; 的 jQuery 更改事件不起作用

我正在开发一个拖放文件上传器,可以通过单击标签或将文件拖放到标签上来触发。

输入字段有一个 jQueryon change事件,当选择文件时会触发该事件。但它仅在通过资源管理器菜单选择文件时有效,而在拖放事件中无效。为什么?

$(document).ready(function() {	
  $('label').on('drag dragstart dragend dragover dragenter dragleave drop', function(event) {
    event.preventDefault();
    event.stopPropagation();
  })
  .on('dragover dragenter', function() {
    $(this).addClass('is-dragover');
  })
  .on('dragleave dragend drop', function() {
    $(this).removeClass('is-dragover');
  })
  .on('drop', function(event) {			
    // Set file on drop
    $('input[type=file]').prop('files', event.originalEvent.dataTransfer.files);      
  });

  // Check if change event works
    $('input[type=file]').on('change', function(event) {    
    $('#result span').text(event.target.files[0].name);      
  });

});
Run Code Online (Sandbox Code Playgroud)
input {
  display: block;
  margin-bottom: 10px;
}

label {
  padding: 20px;
  
  display: inline-block;
  
  border: 2px dashed grey;
}

label:hover {
 background: lightgray;
 cursor: …
Run Code Online (Sandbox Code Playgroud)

javascript jquery file-upload input

1
推荐指数
1
解决办法
3267
查看次数