Browse Source

Add lazyload script nonce support

pull/16496/head
Salih 3 years ago
parent
commit
e76172acc3
  1. 1
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bundling/Volo/Abp/AspNetCore/Mvc/UI/Bundling/TagHelpers/NonceScriptTagHelper.cs
  2. 7
      npm/packs/jquery/src/abp.jquery.js

1
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bundling/Volo/Abp/AspNetCore/Mvc/UI/Bundling/TagHelpers/NonceScriptTagHelper.cs

@ -6,6 +6,7 @@ using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers;
namespace Volo.Abp.AspNetCore.Mvc.UI.Bundling.TagHelpers; namespace Volo.Abp.AspNetCore.Mvc.UI.Bundling.TagHelpers;
[HtmlTargetElement("script")] [HtmlTargetElement("script")]
[HtmlTargetElement("body")]
public class NonceScriptTagHelper : AbpTagHelper public class NonceScriptTagHelper : AbpTagHelper
{ {
[HtmlAttributeNotBound] [HtmlAttributeNotBound]

7
npm/packs/jquery/src/abp.jquery.js

@ -371,13 +371,18 @@ var abp = abp || {};
}; };
var _loadScript = function (url, loadCallback, failCallback) { var _loadScript = function (url, loadCallback, failCallback) {
var nonce = document.body.nonce || document.body.getAttribute('nonce');
_loadFromUrl(url, loadCallback, failCallback, function (urlInfo) { _loadFromUrl(url, loadCallback, failCallback, function (urlInfo) {
$.get({ $.get({
url: url, url: url,
dataType: 'text' dataType: 'text'
}) })
.done(function (script) { .done(function (script) {
$.globalEval(script); if(nonce){
$.globalEval(script, { nonce: nonce});
}else{
$.globalEval(script);
}
urlInfo.succeed(); urlInfo.succeed();
}) })
.fail(function () { .fail(function () {

Loading…
Cancel
Save