Home › Forums › Classic DFFS › Ensure attachments open in a new tab
Tagged: Attachments
- This topic has 0 replies, 1 voice, and was last updated 4 years, 6 months ago by Alexander Bautz.
Viewing 0 reply threads
-
AuthorPosts
-
-
May 8, 2020 at 19:35 #29907
The default behavior in a SharePoint EditForm is to open the attachments (when clicked) in the SAME window as the edit form – effectively cancelling out all the changes you may have made in the current session.
Adding this snippet to your Custom JS ensures all attachments are opened in a new tab – and also previews any attached images.
(function() { var delImgTicker = {}; jQuery("#idAttachmentsTable tr").each(function (i, tr) { var trID = tr.id.replace(/\{|\}/g, ""); if (jQuery("#img_" + trID).length === 0) { jQuery(tr).find("td:first").css({ "width": "50px", "white-space": "nowrap", "padding-right": "5px" }); jQuery(tr).find("td:first a").each(function (i, a) { var h = jQuery(this).attr("href").toLowerCase(), e = h.substring(h.lastIndexOf(".")); if (h.indexOf("http") !== 0) { // Don't remove the delete link return; } // Ensure the link opens in a new tab jQuery(a).attr("target", "_blank"); // Remove the default onclick jQuery(a).removeAttr("onclick"); if (e === ".png" || e === ".gif" || e === ".jpg" || e === ".jpeg") { // Capture deletion of the attachement delImgTicker[tr.id] = setInterval(function () { if (document.getElementById(tr.id) === null) { jQuery("#img_" + trID).remove(); clearInterval(delImgTicker[tr.id]); } }, 2000); // Add preview of images jQuery(a).parents("tr:first").after("<tr><td colspan='2'><img id='img_" + trID + "' src='" + makeAbsUrl(h) + "' style='max-width:500px;'/></td></tr>"); } }); } }); })();
Please ask any questions in the comments below.
Alexander
-
-
AuthorPosts
Viewing 0 reply threads
- You must be logged in to reply to this topic.