Я ищу более эффективный способ изменить текстовую строку html (MvcHtmlString
) на стороне сервера, чтобы добавить атрибут defer="defer"
ко всем содержащим script
тегам в этом тексте (html). Я хочу, чтобы этот код работал для различных типов строк (HTML).
Например, у меня есть строка, сгенерированная на стороне подачи:
<script type="text/javascript" //`need to add defer="defer" here`>
var RecaptchaOptions={"theme":"custom","lang":"en","tabindex":0};
</script>
<script //`need to add defer="defer" here` src="http://www.google.com/recaptcha/api/challenge?k=XXXXXXXXX" type="text/javascript">
</script>
<noscript>
<iframe frameborder="0" height="300px" src="http://www.google.com/recaptcha/api/noscript?k=XXXXXXXXX" width="500px"></iframe>
<br /><br />
<textarea cols="40" name="recaptcha_challenge_field" rows="3"></textarea>
<input name="recaptcha_response_field" type="hidden" value="manual_challenge" />
</noscript>
Может быть, у кого-нибудь есть идеи?
В основном у меня есть много сторонних помощников mvc, которые генерируют такие строки, и я хочу обернуть этот помощник в другой помощник, чтобы добавить defer="defer"
. Помощник возвращает MvcHtmlString
, поэтому в основном у меня будет свой пользовательский помощник, который модифицирует MvcHtmlString
, как я объяснил выше.