【问题标题】:bootstrap modal data-remote not working in Chrome引导模式数据远程在 Chrome 中不起作用
【发布时间】:2014-03-14 03:59:10
【问题描述】:

我已经为除 Chrome 之外的所有浏览器提供了引导模式数据远程工作。背景显示但不显示模态本身。

parentPage.html

<a href="#" data-toggle="modal" data-target="#myModal"><img src="images/ball.gif" alt="Add Account"/></a>
<div class="modal fade" id="myModal" tabindex="-1" data-remote="./popups/remotePage.html" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static" data-keyboard="false" >
</div>

remotePage.html

<div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        Header
      </div>
      <div class="modal-body">
            One fine body...
      </div>
      <div class="modal-footer">Footer
      </div>
    </div><!-- /.modal-content -->
  </div><!-- /.modal-dialog -->

我已经尝试将 data-remote 放入 &lt;a&gt; 标记中。

我错过了什么?

【问题讨论】:

    标签: javascript jquery html css twitter-bootstrap


    【解决方案1】:

    请改用此代码。假设您使用的是 Twitter Bootstrap 3。

    parentPage.html

    <a href="./popups/remotePage.html" data-toggle="modal" data-target="#myModal"><img src="images/ball.gif" alt="Add Account"/></a>
    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static" data-keyboard="false" >
    <div class="modal-dialog">
        <div class="modal-content">
        </div>
    </div>
    </div>
    

    remotePage.html

    <div class="modal-header">Header</div>
    <div class="modal-body">
        One fine body...
    </div>
    <div class="modal-footer">Footer</div>
    

    别忘了目录结构是这样的:

    parentPage.html
    popups
       remotePage.html
    

    更新

    根据回答的 cmets,Google Chrome 不允许将来自文件协议 (file://) 的 XMLHttpRequest 作为安全措施。您有两种选择。

    一个是将您的文件托管在 HTTP 服务器中。如果您使用的是 Windows,请使用 WAMP 或 XAMPP。

    第二个选项是在 Chrome 中禁用网络安全模式,但不推荐这样做

    chrome.exe --disable-web-security
    

    供您参考:Allow Google Chrome to use XMLHttpRequest to load a URL from a local file

    【讨论】:

    • 是的,我正在使用 twitter bootstrap 3。我仍然得到相同的结果。在 FF 中可以正常工作,但在 Chrome 中不行。
    • 对 parentPage.html 中的代码进行了小修改。另外,通过按 Ctrl + Shift + I 检查 Google Chrome 的 Web Developer 工具,看看 Javascript 中是否有错误。
    • XMLHttpRequest 无法加载文件:///Users/MeLap/Documents/Test/popups/remotePage.html。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问 Origin 'null'。
    • 啊,这就解释了。为了安全起见,Google Chrome 不允许来自文件协议 (file://) 的 XMLHttpRequest。
    猜你喜欢
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    • 2017-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多