小编oli*_*rbj的帖子

检测浏览器选项卡是否处于活动状态或用户是否已切换

如何检测用户是否正在切换到另一个浏览器选项卡?

目前,我有这个:

$(window).on("blur focus", function (e) {

    var prevType = $(this).data("prevType");

    if (prevType != e.type) { //  reduce double fire issues
        switch (e.type) {
            case "blur":
                $('.message').html('<div class="alert alert-error">Oops. You navigated away from the ads <a id="start" class="butt green">Resume</a></div>');

                var myDiv = $("#bar");
                myDiv.clearQueue();
                myDiv.stop();
                clearInterval($timer);
                $timer = null;
                break;
            case "focus":
                // do work
                break;
        }
    }

    $(this).data("prevType", e.type);
});
Run Code Online (Sandbox Code Playgroud)

但这仅在用户最小化活动窗口时才有效.

javascript jquery

47
推荐指数
4
解决办法
4万
查看次数

圆形边框在圆形图像周围分开

我想知道如何仅使用CSS创建以下效果:

期望的输出:

在此输入图像描述

目前,我能想到的是在图像周围添加边框.但是我如何切割它们并在图像周围制作它们的部分呢?

这是我目前的CSS:

.avatar img {
    border-radius: 50%;
    border: solid 3px #65C178;
    border-width: 4px;
}
Run Code Online (Sandbox Code Playgroud)

和HTML:

<div class="avatar"><img src="https://s3.amazonaws.com/uifaces/faces/twitter/soffes/128.jpg" /></div>
Run Code Online (Sandbox Code Playgroud)

预览:JSFiddle示例

这仅在头像图像周围给出边框,而不是具有白色间距的绿色部分.

css border css3 css-shapes

17
推荐指数
2
解决办法
1785
查看次数

PHP-对嵌套数组执行解析规则

所以我有一个嵌套的数组,它模仿表的布局(列和行):

{
    "1": [
        {
            "row": "My name is Trevor\n"
        },
        {
            "row": "Can you see me?\n"
        },
        {
            "row": "\f"
        }
    ],
    "2": [
        {
            "row": Hey there! Some other text.\n"
        },
        {
            "row": "What is up?\n"
        },
        {
            "row": "\f"
        }
    ],
    "3": [
        {
            "row": "Some text on the third column. First row."
        },
        {
            "row": "\f"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

因此,“ 1”,“ 2”,“ 3”是列,然后在每一列下可以有任意数量的行。

现在,我正在尝试执行此操作,以便我的用户可以对以下任意一个执行各种解析规则:

  1. 所有列和所有行。
  2. 特定列和所有行。

无论何时解析了列/行,都应将其返回到“原始数组”。

为此,我创建了一个类,该类将应用指定的不同解析规则。获取解析规则可以正常工作。我目前停留在实际的文本转换/解析方面。

考虑一下我有一个解析规则,叫做“ regexTextReplace”,看起来像这样:

class regexTextReplace
{
    private $pattern;
    private …
Run Code Online (Sandbox Code Playgroud)

php arrays transformation laravel

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

PDO错误 - PDOException',消息'SQLSTATE [HY000]:常规错误'

我收到此错误:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error' in ...
Run Code Online (Sandbox Code Playgroud)

..每当我用PDO执行此代码时:

//Select data from the topic.
$s = $dbh->prepare("SELECT * FROM forum_topics WHERE forum_id=:forum_cat_id AND topic_id=:topicid");
$s->bindParam(':forum_cat_id', $forum_cat_id);
$s->bindParam(':topicid', $topicid);
$s->execute();
$f = $s->fetch();

$s = $dbh->prepare("UPDATE forum_cats 
    SET 
        forum_last_postid = :last_post_id, forum_last_posttime = :time, 
        forum_last_userid = :userid, forum_last_username = :username, 
        forum_posts=forum_posts+1 
    WHERE forum_id = :forum_cat_id");
$s->bindParam(':last_post_id', $last_post_id);
$s->bindParam(':time', $time);
$s->bindParam(':userid', $userid);
$s->bindParam(':username', $userdata['username']);
$s->bindParam(':forum_cat_id', $forum_cat_id);
try {
    $s->execute();
}
catch(PDOException $e) {
    die($e->getMessage());
}

if (count($s->fetchAll()) …
Run Code Online (Sandbox Code Playgroud)

php mysql pdo

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

Laravel - Passport/SPA 401未经授权

我已经注册了Laravel Passport文档中提到的Vue组件,它们也显示在我的应用程序中:

<passport-clients></passport-clients>
<passport-authorized-clients></passport-authorized-clients>
<passport-personal-access-tokens></passport-personal-access-tokens>
Run Code Online (Sandbox Code Playgroud)

但是,它们没有显示任何令牌/客户端,而且我也无法创建任何令牌/客户端,因为我的应用程序说我"未经授权":

GET http://spa.test/oauth/personal-access-tokens 401 
GET http://spa.test/oauth/clients 401 (Unauthorized)
GET http://spa.test/oauth/tokens 401 (Unauthorized)
GET http://spa.test/oauth/scopes 401 (Unauthorized)
Run Code Online (Sandbox Code Playgroud)

这是我的 AuthServiceProvider.php

public function boot() {
     $this->registerPolicies();
     Passport::routes();
}
Run Code Online (Sandbox Code Playgroud)

我还把这个特点包括在我的app/User.php:

use HasApiTokens, Notifiable;
Run Code Online (Sandbox Code Playgroud)

记住,我使用Laravel作为后端,Vue.js作为前端,这给了我一个SPA.

这是我的routes/api.php:

Route::middleware('auth:api')->group(function () {
    Route::get('/user', function (Request $request) {
        return $request->user();
    });
});
Run Code Online (Sandbox Code Playgroud)

这是我的routes.js:

const routes = [
    {
        path: '/api/*',
    },

    /**
     * Handle Authentication
     */
    {
        path: '/',
        alias: '/login',
        name: 'login',
        component: Login,
        beforeEnter: …
Run Code Online (Sandbox Code Playgroud)

php laravel single-page-application vue.js

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

从具有不同布局的 PDF 文件中提取文本信息 - 机器学习

我目前正在尝试创建的 ML 项目需要帮助。

我从很多不同的供应商那里收到了很多发票——所有发票都有自己独特的布局。我需要从发票中提取3 个关键元素。这3 个元素都位于所有发票的表/行项目中。

3个要素是:

  • 1 : 关税编号(数字)
  • 2 : 数量(总是一个数字)
  • 3 : 总行数(货币价值)

请参考下面的屏幕截图,我在样本发票上标记了这些字段。

在此处输入图片说明

我使用基于正则表达式的模板方法开始了这个项目。然而,这根本无法扩展,我最终得到了大量不同的规则。

我希望机器学习可以帮助我 - 或者混合解决方案?

共同点

在我的所有发票中,尽管布局不同,但每个行项目将始终包含一个关税编号。此关税编号始终为 8 位数字,并且始终采用以下格式之一:

  • xxxxxxxxx
  • xxx.xxx
  • xx.xx.xx.xx

(其中“x”是 0 - 9 之间的数字)。

此外,正如您在发票上看到的,每行都有一个单价和一个总金额。我需要的金额始终是每行最高的。

输出

对于像上面那样的每张发票,我需要每一行的输出。例如,这可能是这样的:

{
    "line":"0",
    "tariff":"85444290",
    "quantity":"3",
    "amount":"258.93"
},
{
    "line":"1",
    "tariff":"85444290",
    "quantity":"4",
    "amount":"548.32"
},
{
    "line":"2",
    "tariff":"76109090",
    "quantity":"5",
    "amount":"412.30"
}
Run Code Online (Sandbox Code Playgroud)

然后去哪儿?

我不确定我要做什么属于机器学习,如果是,属于哪个类别。是计算机视觉吗?自然语言处理?命名实体识别?

我最初的想法是:

  1. 将发票转换为文本。(发票都是可文本化的 PDF,所以我可以使用类似的东西pdftotext来获取确切的文本值)
  2. 创建自定义命名实体 …

nlp machine-learning image-processing computer-vision neural-network

11
推荐指数
2
解决办法
2522
查看次数

在引导程序中使列具有相同的高度

我连续三列.我希望所有三列具有相同的高度(填满整个空白区域)

目前,它看起来像这样:

在此输入图像描述

如您所见,左列是正确的高度.中间和右边不是.

它的脚手架看起来像这样:

<div class="container">
    <div class="row">
    <div class="span3">
      -- menu --
    </div>
    <div class="span5">
     -- gray content --
    </div>
    <div class="span3">
     -- black content--
    </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我试图给出100%的中间和右侧跨度高度,但这并不是这样.任何人都可以指导我正确的方向吗?

我正在使用最新版本的Twitter Bootstrap

css jquery twitter-bootstrap

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

在jQuery Validate中成功时删除错误类

我正在使用jQuery Validate插件,我遇到了一个问题.

每当有人在字段中写入内容,并且字段得到验证且没有错误时,仍会显示"错误消息框".

我的问题是,如何删除此框?

这是我的代码:

CSS:

.register-box .field .has-error{
    border: 1px solid red !important;

}
.register-box .field .has-error.success {
    border:none !important;
}
.register-box .field .has-success{
    border: 1px solid #42CDA1 !important;
    background: #EEFBF7 !important;
    color: black !important;
    border-bottom: 0px !important;
}
.register-box .success > .error{
    border: 1px solid #42CDA1 !important;
}
.register-box .field .valid{
    border: 1px solid #42CDA1 !important;
}
.register-box .error{
    margin-left: 200px !important;
    float: left;
    width: 150px;
    max-width: 150px;
    text-align: left;
    color: red;
    background: red;
    color: white;
    font-weight: bold; …
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery jquery-validate

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

PayPal - 您尚未注册接受数字交付货物的付款

我刚从沙盒到我的PayPal Express Checkout.

但是当我尝试使用它时,我收到以下错误:

You are not signed up to accept payment for digitally delivered goods.
Run Code Online (Sandbox Code Playgroud)

我的帐户是一个商家帐户,我已添加快速结帐作为付款选项.

我需要采取哪些其他步骤才能使此功能正常工作?

api paypal express-checkout paypal-adaptive-payments

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

Vue.js / Laravel - 正确处理注销

我目前正在尝试使用 Vue 和 Laravel 创建一个简单的 SPA。我已经掌握了工作的基础知识 - 用户可以注册和登录。

我只是不知道如何创建注销功能。

这是我目前拥有的:

AuthController.php

public function logout()
{
        $accessToken = auth()->user()->token();

        $refreshToken = DB::table('oauth_refresh_tokens')
        ->where('access_token_id', $accessToken->id)
        ->update([
            'revoked' => true
        ]);

        $accessToken->revoke();

        return response()->json(['status' => 200]);
}
Run Code Online (Sandbox Code Playgroud)

routes/api.php

Route::middleware('auth:api')->group(function () {
    Route::post('/logout', 'API\AuthController@logout');
    Route::get('/get-user', 'API\AuthController@getUser');
});
Run Code Online (Sandbox Code Playgroud)

现在,这就是我试图做的:

Layout.vue

methods: {
            logout() {
                axios.post('/api/logout').then(response => {
                    this.$router.push("/login")

                }).catch(error => {
                    location.reload();
                });
            }
 }
Run Code Online (Sandbox Code Playgroud)

其中调用我的注销功能Auth.js

logout() {
    localStorage.removeItem('token')
    localStorage.removeItem('expiration')
}
Run Code Online (Sandbox Code Playgroud)

但是,当用户点击注销功能时,他们并没有立即注销(重定向到登录页面)——他们仍然可以浏览“仅限用户的页面”。

我必须在正确注销之前刷新页面。

任何人都可以帮助我吗?这甚至是“安全”注销功能的正确方法吗?

php laravel vue.js vuejs2

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