You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel8签名板在Hostinger不显示求助及工具推荐

问题解决与工具推荐

一、部署到Hostinger后签名板不显示的解决方案

1. 修复混合内容拦截问题

你的代码中外部资源使用了http协议,而Hostinger默认启用HTTPS,浏览器会拦截HTTPS页面加载HTTP资源,导致签名板依赖的JS/CSS无法加载。将所有外部资源的协议改为https:

修改后的头部资源引入代码:

<head>
    <title>Laravel Signature Pad Tutorial Example - ItSolutionStuff.com </title>
    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/css/bootstrap.css">
  
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
    <link type="text/css" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/south-street/jquery-ui.css" rel="stylesheet"> 
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
    <script type="text/javascript" src="https://keith-wood.name/js/jquery.signature.js"></script>
  
    <link rel="stylesheet" type="text/css" href="https://keith-wood.name/css/jquery.signature.css">
  
    <style>
        .kbw-signature { width: 100%; height: 200px;}
        #sig canvas{
            width: 100% !important;
            height: auto;
        }
    </style>
  
</head>

2. 本地化资源(可选,提升稳定性)

第三方CDN资源可能存在访问不稳定的情况,建议将jquery.signature.js和jquery.signature.css下载到项目的public/js和public/css目录,然后用Laravel的asset()函数引入:

<script type="text/javascript" src="{{ asset('js/jquery.signature.js') }}"></script>
<link rel="stylesheet" type="text/css" href="{{ asset('css/jquery.signature.css') }}">

3. 排查资源加载错误

打开浏览器开发者工具(F12),查看Console和Network标签:

  • 如果有404错误,检查资源路径是否正确
  • 如果有CORS错误,确认Hostinger服务器允许加载外部资源

4. 验证路由与CSRF

确保route('signaturepad.upload')在服务器上正确解析,表单中的@csrf令牌正常生成(查看页面源码确认<input type="hidden" name="_token" value="...">存在)。

二、Laravel 8可用的签名板工具(支持转图片格式)

  • jQuery Signature Pad
    你当前使用的工具,基于jQuery和jQuery UI,支持将签名同步为Base64格式的PNG图片,适合已有jQuery项目。

  • Signature Pad(原生JS)
    无依赖的轻量级签名库,支持导出PNG/JPG/SVG格式的图片,示例代码:

    <div id="signature-pad" class="signature-pad">
      <canvas></canvas>
    </div>
    <script src="{{ asset('js/signature_pad.min.js') }}"></script>
    <script>
      const canvas = document.querySelector("canvas");
      const signaturePad = new SignaturePad(canvas);
      
      // 提交时获取Base64图片
      document.querySelector('form').addEventListener('submit', function(e) {
        const signatureData = signaturePad.toDataURL('image/png');
        document.querySelector('input[name="signed"]').value = signatureData;
      });
    </script>
    
  • Laravel Signature Pad 封装包
    部分第三方Laravel包已封装好签名板功能,直接通过Composer安装即可使用,无需手动引入前端资源,支持将签名保存为图片文件到服务器。

  • PadDraw
    轻量的手绘签名库,支持导出图片,API简单,适合对体积要求高的项目。

内容的提问来源于stack exchange,提问作者Angel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 08:50:24