我正在尝试使用 fetch API 加载 HTML 页面及其 JavaScript 脚本
我可以使用 ajax 和 JQuery请参阅此处来加载页面,但是可以使用 fetch API 吗?
这是代码演示:
我假设你在本地主机上运行这个
<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
<title>fetch API</title>
</head>
<body>
<p>index page</p>
<div id="content">
</div>
<script>
fetch('./page.html')
.then(data => data.text())
.then(html => document.getElementById('content').innerHTML = html);
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
要加载的页面:
<!-- page.html -->
<p> i am the loaded page</p>
<script type="text/javascript">
alert("Javascript is working");
</script>
Run Code Online (Sandbox Code Playgroud)
该
<p>标签I am the loaded page将运行,但<script>不会alert运行或任何类型的 JavaScript
我正在尝试在 Laravel 项目中创建联系我们表单,但遇到以下错误并想知道如何解决此问题。
预期的响应代码 354,但得到代码“503”,消息“503-所有 RCPT 命令被拒绝并出现此错误:503-”您的 IP:202.133.88.147:标题 503-From 中不允许您的域 gmail.com”503有效的 RCPT 命令必须在 DATA 之前
以下是我的.ENV文件
MAIL_DRIVER=smtp
MAIL_HOST=mail.mydomain.com
MAIL_PORT=26
MAIL_USERNAME=support@mydomain.com
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=null
Run Code Online (Sandbox Code Playgroud)
控制器
public function contactus()
{
return view('contactus');
}
public function sendContactMail(Request $request)
{
Mail::to('support@mydomain.com')->send(new ContactUs($request));
Session::flash('success','Message Sent Successfully!');
return redirect()->back();
}
Run Code Online (Sandbox Code Playgroud)
联系我们.php
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class ContactUs extends Mailable
{
protected $contactdata;
use Queueable, SerializesModels;
/**
* Create a new message instance.
*
* @return void
*/
public …Run Code Online (Sandbox Code Playgroud) 我有一个 SVG 标签,我想在它悬停时更改填充颜色。我在 SVG 标签中添加了一个样式标签,但似乎悬停不起作用而简单的样式 工作得很好。这是我的 SVG 标签:
<svg width="28" height="81" viewBox="0 0 28 81" xmlns="http://www.w3.org/2000/svg">
<style type="text/css">
.slick_next_arrow {
fill:red;
}
.slick_next_arrow:hover {
fill:green;
}
</style>
<path class="slick_next_arrow" hover="fill:green" fill-rule="evenodd" clip-rule="evenodd" d="M3.73141 1.20959C2.95311 -0.00927037 1.3341 -0.366415 0.115239 0.411883L25.5894 40.3058L0 80.3802C1.21886 81.1585 2.83787 80.8014 3.61617 79.5825L27.4729 42.2216C27.7642 41.7653 27.8965 41.2531 27.884 40.7498C28.1017 40.0409 28.0185 39.2445 27.5881 38.5705L3.73141 1.20959Z"/>
</svg>
Run Code Online (Sandbox Code Playgroud)
我已通过以下两种方式将此 svg 包含到element::after中:
在内容中添加整个标签
#slick-views-customer-quotes-carousel-block-main-1 .slick__arrow .slick-next::after {
content : url('data:image/svg+xml; utf8, <svg class="" width="28" height="81" viewBox="0 …Run Code Online (Sandbox Code Playgroud)我用的是laravel 5.3
我创建了一个在线商店网站。
如果用户登录并选择产品,然后单击“确定”按钮,图标购物车中将会有实时通知。
我的代码如下所示:
如果用户选择产品和确定按钮,它将运行此功能:
public function addNotificationCart()
{
Notification::send(auth()->user(), new CartNotification($cart));
}
Run Code Online (Sandbox Code Playgroud)
然后 :
public function toBroadcast($notifiable) {
return new BroadcastMessage([
'id' => $this->data->id,
'time' => $this->data->created_at,
'group' => 'cart'
]);
}
Run Code Online (Sandbox Code Playgroud)
我的 JavaScript 代码如下所示:
Echo.private('App.User.' + window.Laravel.authUser.id).notification((notification) => {
// run this statement if exist notification
})
Run Code Online (Sandbox Code Playgroud)
如果代码运行,它就有效
我想在我的网站上添加一个新功能。所以当用户未登录时,用户也可以添加购物车,并且会显示通知购物车
对我来说重要的是我如何去做?
在这个部分 :
Notification::send(auth()->user(), new CartNotification($cart));
Run Code Online (Sandbox Code Playgroud)
和 :
window.Laravel.authUser.id
Run Code Online (Sandbox Code Playgroud)
它需要记录用户数据和 ID
如果用户没有登录,如何填写?
出于背景目的,我在离子文档(本机和非本机)以及其他页面中进行了深入搜索,发现可能有实现此目的的可能性(即使关闭了应用程序,也要继续运行订阅),但是我可以我根本不知道应该在哪里放置BakckgroundMode插件才能正常工作……(我认为该插件无法在我的设备上正常工作),但是很难检查该东西,因为您无法检查设备如果它在chrome:// inspect的背景模式下...
这是BackgroundMode插件:
https://github.com/katzer/cordova-plugin-background-mode
我安装了backgroundMode 0.7.2,它不是最实用的插件,但是尝试安装最新的插件会使我在构建时出现错误,因此我尝试了此版本并可以正常工作。
在文档中,我看到以下内容:
该插件创建对象cordova.plugins.backgroundMode,并且在触发deviceready事件后可以访问该插件。
因此,为了运行后台模式,在构造函数内部的page.ts中(稍后我将讨论为什么在构造函数中),我将:
document.addEventListener('deviceready', ()=> {
this.backgroundMode.enable();
this.backgroundMode.setDefaults(
{
title: 'executing in bg mode...',
text: 'background mode was activated successfully!',
color: '#fff',
resume: true,
silent: false
}
);
this.backgroundMode.disableWebViewOptimizations();
this.backgroundMode.on('activate').subscribe(()=>{
this.isAcceptedObservable = this.localNotifications.on('yes').subscribe(res =>{
console.log('confirmed!');
this.backgroundMode.unlock();
});
//And more observables...
});
});
Run Code Online (Sandbox Code Playgroud)
即使关闭应用,backgroundMode.on('activate')订阅中的订阅也是我需要保持运行的东西。
之所以将代码放在构造函数中,是因为我还使用ngx-socket-io来侦听我创建的节点中套接字服务器的发射和广播功能,因此链接到套接字的订阅之一事件是:
this.getInvitationSubscriber = this.getInvitation().subscribe(data =>{
this.invitations.push(data);
this.showNotification({
title: 'Invitation received!',
text: 'Someone invited you!',
icon: data['from']['avatar_src'],
attachments: [data['from']['invitation_src']]
});
console.log(this.invitations);
});
Run Code Online (Sandbox Code Playgroud)
在ionViewWillEnter中我打电话:
ionViewWillEnter{
this.socket.connect();
}
Run Code Online (Sandbox Code Playgroud)
并且此函数在构造函数之外:
getInvitation(){
let observable = new …Run Code Online (Sandbox Code Playgroud) 我想传递一个groupBy带有 laravel 资源的集合,但问题是当我使用该collection方法时,我无法修改 json 并且会抛出错误:
帖子资源:
public function toArray($request)
{
return [
'comments' => CommentResource::collection($this->comments->groupBy('star')),
];
}
Run Code Online (Sandbox Code Playgroud)
该集合中不存在属性 [star]
但是,一旦我从集合中删除 groupBy 方法,它就会起作用。那么当资源按特定键分组时,如何获取和修改呢?