在safari浏览器中加载带有javascript问题的html

时间:2016-08-25 20:19:45

标签: javascript jquery html safari

我在这个问题上挣扎了一整天,所以也许有人可以提供帮助。

我想在按钮点击时将settings.php页面(包括常用html的javascript / jquery代码)加载到index.php中。

以下是代码段:

的index.php

<head>
<script type="text/javascript">
        function loadSettingsPage (){
        $('#myResults').load('settings.php', function (){ });
        }
</script>
</head>

的settings.php

<div class="tabsWrapper">
<ul class="tabs">
    <li data="sections" onclick="setTab('sections')">Product categories</li>
    <li data="suppliers" onclick="setTab('suppliers')">Suppliers</li>
</ul>
</div>
...
<script type="text/javascript">
function setTab(currentTab = "sections"){
//some code goes here
};

$(document).ready(function (){
//document ready code goes here with click events
}
</script>

问题是,如何将Settings.php文件加载/包含到index.php文件中,以便所有javascript代码包含$(document).ready函数中的点击事件也在safari浏览器中执行。现在它可以与所有浏览器完美配合,但可以使用Safari

1 个答案:

答案 0 :(得分:6)

您正在尝试使用默认参数的EcmaScript 6功能。根据{{​​3}},这在Safari,Opera或Internet Explorer中尚未实现。

使用显式检查参数是否已设置:

function setTab(currentTab) {
    currentTab = currentTab || "sections";
    // some code goes here
}

您需要非常小心使用新的ES6功能,其中许多功能尚未在Safari中实现,并且它们永远不会在旧的IE版本中实现。