【发布时间】:2021-10-04 07:09:36
【问题描述】:
我在我的 laravel 应用程序中使用 Turbolinks,我现在遇到的问题是,当我切换视图时,内容在 CSS 和图像之前加载,并且在快速切换到完整视图之前会导致 HTML 显示尴尬对用户体验不利。我该如何解决这个问题,可能是通过确保 turbolinks 仅在它首先加载所有 CSS 和图像后才切换?
====编辑====
我已经能够发现这么多
我们从那里路由到登录页面:
@extends('./layouts/base')
@section('meta')
@section('title', 'Become a Tuper Seller')
<link rel = "stylesheet" href = " {{ asset('fonts/material-icon/css/material-design-iconic-font.min.css')}} ">
@endsection
@section('body')
<link rel = "stylesheet" href = " {{ mix('css/auth.css')}} ">
<div class = "auth-form">
<div class="main">
<!-- Sign up form -->
<section class="signup">
<div class="container">
<div class="signup-content">
<div class="signup-form">
<h2 class="form-title">Create A Consumer Account</h2>
<form method="POST" class="register-form" id="register-form">
@csrf
<div class="form-group">
<label for="username"><i class="zmdi zmdi-account material-icons-name"></i></label>
<input type="text" name="username" id="name" placeholder="Your Name" value = "{{ old('username')}}"/>
</div>
@error("username")
<div class = "alert alert-danger"> {{ $message }}</div>
@enderror
<div class="form-group">
<label for="email"><i class="zmdi zmdi-email"></i></label>
<input type="email" name="email" value = "{{ old('email')}}" id="email" placeholder="Your Email"/>
</div>
@error('email')
<div class = "alert alert-danger"> {{ $message }}</div>
@enderror
<div class="form-group">
<label for="telephone"><i class="zmdi zmdi-phone"></i></label>
<input type="number" value = "{{ old('telephone') }}"name="telephone" id="telephone" placeholder="Telephone"/>
</div>
@error("telephone")
<div class = "alert alert-danger"> {{ $message }}</div>
@enderror
<div class="form-group">
<label for="password"><i class="zmdi zmdi-lock"></i></label>
<input type="password" name="password" value = "{{ old('password') }}"id="pass" placeholder="Password"/>
</div>
@error('password')
<div class = "alert alert-danger"> {{ $message }}</div>
@enderror
<div class="form-group">
<label for="password_confirmation"><i class="zmdi zmdi-lock-outline"></i></label>
<input type="password" value = "{{ old('password_confirmation')}}" name="password_confirmation" id="re_pass" placeholder="Repeat your password"/>
</div>
<div class="form-group">
<input type="checkbox" name="agree-term" id="agree-term" class="agree-term" />
<label for="agree-term" class="label-agree-term"><span><span></span></span>I agree all statements in <a href="#" class="term-service">Terms of service</a></label>
</div>
<div class="form-group form-button">
<input type="submit" name="signup" id="signup" class="form-submit" value="Register"/>
</div>
</form>
</div>
<div class="signup-image">
<figure><img src=" {{ asset('img/tuper_logo.jpg')}} " alt="sing up image"></figure>
<a href=" {{ route('seller_register')}} " class="signup-image-link">I want to be a seller</a>
</div>
</div>
</div>
</section>
<!-- Sing in Form -->
</div>
</div>
@endsection
我注意到用内联样式标签替换登录页面中的 mix(auth.css) 并粘贴混合文件可修复此错误,但这不是实现此问题的合适方法。
【问题讨论】:
-
turbolinks 的全部意义在于,当您切换到新视图时,head 标签不会重新加载,只会加载 body 标签。 css 应该已经存在了。由于您没有显示任何代码,因此很难说出您的情况出了什么问题。
标签: javascript ruby-on-rails laravel turbolinks