小编Ahm*_*imi的帖子

如何使用 fetch api 及其 javascript 加载 html 页面?

我正在尝试使用 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

javascript

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

预期响应代码 354 但得到代码“503”

我正在尝试在 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)

php smtp laravel

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

在 SVG 文件或标签中添加悬停样式

我有一个 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中:

  1. 在内容中添加整个标签

    #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)

html css svg

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

如何对未登录的用户进行实时通知?

我用的是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

如果用户没有登录,如何填写?

notifications real-time broadcast laravel laravel-5

5
推荐指数
0
解决办法
1821
查看次数

即使关闭了应用程序,也可以保持订阅运行吗?

出于背景目的,我在离子文档(本机和非本机)以及其他页面中进行了深入搜索,发现可能有实现此目的的可能性(即使关闭了应用程序,也要继续运行订阅),但是我可以我根本不知道应该在哪里放置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)

javascript sockets typescript angular ionic4

5
推荐指数
0
解决办法
80
查看次数

在 Laravel 资源中使用 groupBy

我想传递一个groupBy带有 laravel 资源的集合,但问题是当我使用该collection方法时,我无法修改 json 并且会抛出错误:

帖子资源:

public function toArray($request)
{
    return [
        'comments' => CommentResource::collection($this->comments->groupBy('star')),
    ];
}
Run Code Online (Sandbox Code Playgroud)

该集合中不存在属性 [star]

但是,一旦我从集合中删除 groupBy 方法,它就会起作用。那么当资源按特定键分组时,如何获取和修改呢?

laravel

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