Удалить JS SCRIPT со страницы MASTER на дочерних страницах
У меня есть главная страница и 30 дочерних страниц. На моей главной странице я загружаю прототип js, который необходим на моих 29 дочерних страницах.
На 30-й дочерней странице у меня есть файл pivottable.js, который загружает диаграммы C3 и D3. PivotTable.js, C3.js, D3.js имеют некоторые конфликты с prototype.js, и они не работают, так как главная страница имеет ссылку на js-прототип.
Если я удалил ссылку на prototype.js с главной страницы, сводная таблица будет работать, как и ожидалось, но остальные 29 других страниц, для которых требуется js-прототип, не будут работать.:-(
Есть ли способ удалить ссылку на прототип с главной страницы только на 30-й дочерней странице до загрузки сценариев на 30-й странице?
Надеясь на ответ. Заранее спасибо.
1 ответ
Поместите ваши файлы JavaScript внутри ContentPlaceHolder
как ниже на вашей главной странице.
//SCRIPTS THAT CAN LOAD ON ALL PAGES
<script type="text/javascript" src="..."></script>
<asp:ContentPlaceHolder runat="server" ID="critical_js_files">
//SCRIPTS THAT YOU DO NOT LOAD ON SOME CHILD PAGES
<script type="text/javascript" src="..."></script>
</asp:ContentPlaceHolder>
В коде главной страницы добавьте этот метод:
public void DisableCriticalJavaScriptFiles()
{
critical_js_files.Visible = false;
}
И, наконец, добавьте приведенный ниже код в ваш метод Page_Load на своей 30-й дочерней странице или на любую страницу, где вы не хотите загружать этот js-файл:
protected void Page_Load(object sender, EventArgs e)
{
Master.DisableCriticalJavaScriptFiles();
//REST OF THE PAGE_LOAD CODE
}
Надеюсь это поможет.