その通りです。「uLightBox」プラグイン (現在の名前は「ClassyLightbox」) は、JavaScript エラーをスローするため、Internet Explorer (少なくともバージョン 8 および 9) では機能しません。
ただし、次の方法で機能させることができました。
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="css/jquery.classylightbox.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script>
<script src="js/jquery.classylightbox.js"></script>
<script type="text/javascript">
function alert(val){
ClassyLightbox.alert({ title: 'Alert', text: val, rightButtons: ['OK'] });
}
$(document).ready(function() {
ClassyLightbox.init({
override: false,
background: 'white',
centerOnResize: true,
fade: true
});
$('#alert').click(function() {
alert('Hello World');
});
});
</script>
</head>
<body>
<input id="alert" type="button" value="Click Me" />
</body>
</html>
私の例では、ここからダウンロードしたプラグインの最新バージョンを使用しました。
次にoverride
、false に設定し、メソッドalert()
を呼び出す関数を再定義しました。
古いバージョンのプラグインを使用している場合は、次のようにする必要があります。ClassyLightbox.alert
<script type="text/javascript">
function alert(val){
uLightBox.alert({ title: 'Alert', text: val, rightButtons: ['OK'] });
}
$(document).ready(function() {
uLightBox.init({
override: false,
background: 'white',
centerOnResize: true,
fade: true
});
$('#alert').click(function() {
alert('Hello World');
});
});
</script>
このソリューションの欠点は、背景色を変更できないことです。つまり、override
が false に設定されている場合、background
プロパティは無視されます。