如何检测用户是否正在切换到另一个浏览器选项卡?
目前,我有这个:
$(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)
但这仅在用户最小化活动窗口时才有效.
我想知道如何仅使用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示例
这仅在头像图像周围给出边框,而不是具有白色间距的绿色部分.
所以我有一个嵌套的数组,它模仿表的布局(列和行):
{
"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”是列,然后在每一列下可以有任意数量的行。
现在,我正在尝试执行此操作,以便我的用户可以对以下任意一个执行各种解析规则:
无论何时解析了列/行,都应将其返回到“原始数组”。
为此,我创建了一个类,该类将应用指定的不同解析规则。获取解析规则可以正常工作。我目前停留在实际的文本转换/解析方面。
考虑一下我有一个解析规则,叫做“ regexTextReplace”,看起来像这样:
class regexTextReplace
{
private $pattern;
private …Run Code Online (Sandbox Code Playgroud) 我收到此错误:
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) 我已经注册了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) 我目前正在尝试创建的 ML 项目需要帮助。
我从很多不同的供应商那里收到了很多发票——所有发票都有自己独特的布局。我需要从发票中提取3 个关键元素。这3 个元素都位于所有发票的表/行项目中。
这3个要素是:
请参考下面的屏幕截图,我在样本发票上标记了这些字段。
我使用基于正则表达式的模板方法开始了这个项目。然而,这根本无法扩展,我最终得到了大量不同的规则。
我希望机器学习可以帮助我 - 或者混合解决方案?
在我的所有发票中,尽管布局不同,但每个行项目将始终包含一个关税编号。此关税编号始终为 8 位数字,并且始终采用以下格式之一:
(其中“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)
我不确定我要做什么属于机器学习,如果是,属于哪个类别。是计算机视觉吗?自然语言处理?命名实体识别?
我最初的想法是:
pdftotext来获取确切的文本值)nlp machine-learning image-processing computer-vision neural-network
我连续三列.我希望所有三列具有相同的高度(填满整个空白区域)
目前,它看起来像这样:

如您所见,左列是正确的高度.中间和右边不是.
它的脚手架看起来像这样:
<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
我正在使用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) 我刚从沙盒到我的PayPal Express Checkout.
但是当我尝试使用它时,我收到以下错误:
You are not signed up to accept payment for digitally delivered goods.
Run Code Online (Sandbox Code Playgroud)
我的帐户是一个商家帐户,我已添加快速结帐作为付款选项.
我需要采取哪些其他步骤才能使此功能正常工作?
我目前正在尝试使用 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)
但是,当用户点击注销功能时,他们并没有立即注销(重定向到登录页面)——他们仍然可以浏览“仅限用户的页面”。
我必须在正确注销之前刷新页面。
任何人都可以帮助我吗?这甚至是“安全”注销功能的正确方法吗?