我在IE浏览器中收到了这个js错误。IE特定的js错误
SCRIPT5009: 'encodeURIComponent' is undefined
about, line 53 character 13
这是js文件负责
(function ($) {
Drupal.color = {
logoChanged: false,
callback: function(context, settings, form, farb, height, width) {
// Change the logo to be the real one.
if (!this.logoChanged) {
$('#preview #preview-logo img').attr('src', Drupal.settings.color.logo);
this.logoChanged = true;
}
// Remove the logo if the setting is toggled off.
if (Drupal.settings.color.logo == null) {
$('div').remove('#preview-logo');
}
// Solid background.
$('#preview', form).css('backgroundColor', $('#palette input[name="palette[bg]"]', form).val());
$('#preview #preview-main-menu', form).css('background-color', $('#palette input[name="palette[top-menu-bg]"]', form).val());
$('#preview .preview-content-slideshow a', form).css('color', $('#palette input[name="palette[all-links]"]', form).val());
// Text preview.
//$('#preview #preview-main h2, #preview .preview-content', form).css('color', $('#palette input[name="palette[text]"]', form).val());
$('#preview #preview-content a', form).css('color', $('#palette input[name="palette[link]"]', form).val());
// Sidebar block.
$('#preview #preview-sidebar #preview-block', form).css('background-color', $('#palette input[name="palette[sidebar]"]', form).val());
$('#preview #preview-sidebar #preview-block', form).css('border-color', $('#palette input[name="palette[sidebarborders]"]', form).val());
// Footer wrapper background.
$('#preview #preview-footer-wrapper', form).css('background-color', $('#palette input[name="palette[footer]"]', form).val());
// CSS3 Gradients.
var gradient_start = $('#palette input[name="palette[top]"]', form).val();
var gradient_end = $('#palette input[name="palette[bottom]"]', form).val();
// Menu preview
$('#preview #preview-main-menu-links a', form).css('color', $('#palette input[name="palette[sf-menu-sf-style-metroz-a]"]', form).val());
$('#preview #preview-main-menu-links li', form).css('background-color', $('#palette input[name="palette[sf-menu-sf-style-metroz-li]"]', form).val());
//$('#preview #preview-header', form).attr('style', "background-color: " + gradient_start + "; background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(" + gradient_start + "), to(" + gradient_end + ")); background-image: -moz-linear-gradient(-90deg, " + gradient_start + ", " + gradient_end + ");");
$('#preview #preview-header', form).attr('style', "background-color: " + $('#palette input[name="palette[header-wrapper]"]', form).val());
$('#preview #preview-site-name', form).css('color', $('#palette input[name="palette[titleslogan]"]', form).val());
$('#preview #preview-content h1 a', form).css('color', $('#palette input[name="palette[slideshow-title-text-color]"]', form).val());
$('#preview #preview-content, #preview #preview-content h1', form).css('background-color', $('#palette input[name="palette[slideshow]"]', form).val());
$('#preview-node').css('color', '#FFFFFF');
$('#preview .pagination a.active', form).css('background-color', $('#palette input[name="palette[pagination]"]', form).val());
$('#preview .search', form).css('background-color', $('#palette input[name="palette[search-button-color]"]', form).val());
$('#preview .view-more', form).css('background-color', $('#palette input[name="palette[slideshow-wrapper-bg-color]"]', form).val());
$('#preview .view-more a', form).css('color', $('#palette input[name="palette[slideshow-wrapper-text-color]"]', form).val());
$("#preview #preview-main-menu-links a").mouseover(function(){
$(this).css('color', $('#palette input[name="palette[sf-menu-sf-style-metroz-a-hover]"]', form).val());
});
$("#preview #preview-main-menu-links a").mouseleave(function(){
$(this).css('color', $('#palette input[name="palette[sf-menu-sf-style-metroz-a]"]', form).val());
});
$("#preview #preview-main-menu-links li").mouseover(function(){
$(this).css('background', $('#palette input[name="palette[sf-menu-sf-style-metroz-li-hover]"]', form).val());
});
$("#preview #preview-main-menu-links li").mouseleave(function(){
$(this).css('background', $('#palette input[name="palette[sf-menu-sf-style-metroz-li]"]', form).val());
});
}
};
$(document).ready(function($) {
var pos = $('#color_scheme_form').position();
if (pos.top > 350) {
$('#preview').hide();
$('#placeholder').hide();
$('.color-form > h2').hide();
}
});
$(document).scroll(function(e) {
var pos = $('#color_scheme_form').position();
var scrollTop = $(this).scrollTop();
if (scrollTop > (pos.top - 50)) {
$('#preview').show();
$('#placeholder').show();
$('.color-form > h2').show();
$('#preview').removeAttr('style');
$('#placeholder').removeAttr('style');
$('.color-form > h2').removeAttr('style');
}
else {
$('#preview').hide();
$('#placeholder').hide();
$('.color-form > h2').hide();
}
});
})(jQuery);
核心Preview.js:
/** * @file *为上连接的彩色模块预览相关的行为。 */
(function ($) {
Drupal.color = {
callback: function(context, settings, form, farb, height, width) {
// Solid background.
$('#preview', form).css('backgroundColor', $('#palette input[name="palette[base]"]', form).val());
// Text preview
$('#text', form).css('color', $('#palette input[name="palette[text]"]', form).val());
$('#text a, #text h2', form).css('color', $('#palette input[name="palette[link]"]', form).val());
// Set up gradients if there are some.
var color_start, color_end;
for (i in settings.gradients) {
color_start = farb.unpack($('#palette input[name="palette[' + settings.gradients[i]['colors'][0] + ']"]', form).val());
color_end = farb.unpack($('#palette input[name="palette[' + settings.gradients[i]['colors'][1] + ']"]', form).val());
if (color_start && color_end) {
var delta = [];
for (j in color_start) {
delta[j] = (color_end[j] - color_start[j])/(settings.gradients[i]['vertical'] ? height[i] : width[i]);
}
var accum = color_start;
// Render gradient lines.
$('#gradient-' + i + ' > div', form).each(function() {
for (j in accum) {
accum[j] += delta[j];
}
this.style.backgroundColor = farb.pack(accum);
});
}
}
}
};
})(jQuery);
这种情况正在改变在Drupal主题预览选项。
在IE10的工作中,它没有任何问题,在ie9中,ie8,ie7中抛出这个'encodeURIComponent'错误。
我不知道如何纠正这一点。任何帮助将不胜感激。提前致谢。
在脚本中没有对象encodeURIComponent。没有代码列表,没有人可以帮助你。 – BaBL86
对不起。刚刚添加了导致该问题的js文件 – Ram
BaBL86:你能说出是什么原因引发了这个问题吗? – Ram