在开发我的网站时,我遇到了一些关于 Firefox 和 Internet Explorer 等浏览器之间兼容性的问题。
我的文档开头还有这段代码:
<!-- HTML5 Shim -->
<!--[if lt IE 9]><script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
<!-- Modernizr -->
<script src="modernizr.js"></script>
<!-- Webforms2 -->
<!-- jQuery -->
<script src="js/jquery-1.4.3.min.js"></script>
<script src="js/jquery-ui-1.8.5.min.js"></script>
<!-- jQuery Color Picker -->
<link rel="stylesheet" href="colorpicker.css">
<script src="colorpicker.js"></script>
<!-- jQuery Numeric Spinner -->
<script src="spinner.js"></script>
<!-- jQuery Placehol
<script src="jquery.placehold-0.2.min.js"></script> -->
在我的页面正文上,我有:
<!-- Script DATE -->
<script>
var initDatepicker = function() {
$('input[type=date]').each(function() {
var $input = $(this);
$input.datepicker({
minDate: $input.attr('min'),
maxDate: $input.attr('max'),
dateFormat: 'dd/mm/yy'
});
});
};
if(!Modernizr.inputtypes.date){
$(document).ready(initDatepicker);
};
</script>
<!-- Script COLOR -->
<script>
var initColorpicker = function() {
$('input[type=color]').each(function() {
var $input = $(this);
$input.ColorPicker({
onSubmit: function(hsb, hex, rgb, el) {
$(el).val(hex);
$(el).ColorPickerHide();
}
});
});
};
if(!Modernizr.inputtypes.color){
$(document).ready(initColorpicker);
};
</script>
<!-- Script Slider -->
<script>
var initSlider = function() {
$('input[type=range]').each(function() {
var $input = $(this);
var $slider = $('<div id="' + $input.attr('id') + '" class="' + $input.attr('class') + '"></div>');
var step = $input.attr('step');
$input.after($slider).hide();
$slider.slider({
min: $input.attr('min'),
max: $input.attr('max'),
step: $input.attr('step'),
change: function(e, ui) {
$(this).val(ui.value);
}
});
});
};
</script>
我遇到的问题是关于 PHP 页面的,因为当我在 index.php 上时一切正常。
当我继续时index.php?p=som_page
,无论 p 上的参数是什么,该脚本都不再起作用。
我有点迷茫,因为在页面上我只包含没有头部和主体的函数,只是包含的 div。
但是当我重新打开 index.php 时,一切都可以正常工作了。
仅当我使用 Firefox 或 Internet Explorer 时才会出现此问题。当我使用 Chrome 时,输入类型日期、颜色或范围都可以正常工作。