Вы можете использовать событие timeupdate, которое срабатывает всякий раз, когда обновляется атрибут currentTime видео.
Ссылка: https://developer.mozilla.org/en-US/docs/Web/Events/timeupdate
Пример:
$(document).ready(function(){
$( '.header-video' ).on(
'timeupdate',
function(event){
// Save object in case you want to manipulate it more without calling the DOM
$this = $(this);
if( this.currentTime > ( this.duration - 3 ) ) {
$this.fadeOut(200);
}
});
});
Это сценарий для областей.
1) Внутри вашего плагина создайте структуру папок
Areas
..Plugin
....Controllers
....Views
2) Внутренние контроллеры создают базовый контроллер плагина «PluginController», где вы установили атрибут Area
[Area("Plugin")]
public class PluginController : Controller
{
...
}
3) Сделайте все свои контроллеры плагинов наследуемыми от PluginController
public class CustomerController : PluginController
{
...
}
4) Добавьте поддержку областей в построитель маршрутов
app.UseMvc(routes =>
{
routes.MapRoute(
name: "defaultWithArea",
template: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
Теперь все действия внутри вашего плагина потребуют www.mysite.com/plugin/ ...
Также я хочу отметить, что если вы хотите получить URL-адреса действия из-за пределов плагина, вам нужно указать область контроллера следующим образом:
@Url.Action("Edit", "Customer", new { Area = "Plugin" })
Существует RedirectToAction()
, который принимает имя первого аргумента Action, и есть вторая перегрузка, которая берет имя контроллера. Но я не уверен, если он работает с другим проектом, так как вы сопоставляете маршруты в своем Startup.cs
. Ваша последняя перегрузка RedirectToAction("Edit", "Customer")
Чтобы предотвратить проблемы рефакторинга RedirectToAction(nameof(Edit), nameof(Customer))