Javascript 在IE中,后挡板仅在控制台打开后工作
SharePoint中的回发重定向在Chrome和firefox中运行良好。但是IE 11的重定向也不能正常工作 我使用了下面的javascript代码Javascript 在IE中,后挡板仅在控制台打开后工作,javascript,html,internet-explorer,sharepoint-2013,internet-explorer-11,Javascript,Html,Internet Explorer,Sharepoint 2013,Internet Explorer 11,SharePoint中的回发重定向在Chrome和firefox中运行良好。但是IE 11的重定向也不能正常工作 我使用了下面的javascript代码 var publishButton = $("input[id$=SaveItem]"); // change redirection behavior publishButton.removeAttr("onclick"); publishButton.on('cli
var publishButton = $("input[id$=SaveItem]");
// change redirection behavior
publishButton.removeAttr("onclick");
publishButton.on('click',function() {
var elementName = $(this).attr("name");
var aspForm = document.forms['aspnetForm'];
var oldPostbackUrl = aspForm.action;
if (SPClientForms.ClientFormManager.SubmitClientForm('WPQ2')) return false;
var currentSourceValue = GetUrlKeyValue("Source", true, oldPostbackUrl);
var newPostbackUrl = _spPageContextInfo.webAbsoluteUrl+"/Lists/Posts/Post.aspx";
var newPostbackUrl = oldPostbackUrl.replace(currentSourceValue,newPostbackUrl );
if (!PreSaveItem()) return false;
setTimeout(function(){
WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(elementName, "", true, "", newPostbackUrl, false, true));
},1);
});
建议在IE 11重定向中执行的操作。在执行任何其他操作之前,请先尝试以下操作:
document.getElementById("yourElementName").addEventListener("click", function(event){
event.preventDefault()
});
为什么设置超时?对于firefox,需要设置超时。没有设置超时,单击按钮在firefox中无法正常工作。我不明白。请简短地说。您正在从元素中删除单击,这很好。但您还必须防止该元素的默认单击行为。因此,通过首先应用我的答案,可以禁用默认行为。然后实现你想要的。