我想要一个响应式垂直导航栏,我正在尝试使用 Bootstrap 5 来获得它。在其中,我想要多级下拉菜单项。我确信可以通过向 CSS 添加自定义代码并自行创建整个多级下拉功能来实现这一点,但我希望尽可能保持简洁。
我尝试了以下代码,但下拉列表没有进入子级别,而是崩溃了。
<!-- Sidebar -->
<aside class="col-12 col-md-3 col-xl-2 p-0 bg-dark flex-shrink-1">
<nav class="navbar navbar-expand-md navbar-dark bg-dark flex-md-column flex-row align-items-center py-2 text-center sticky-top" id="sidebar">
<div class="text-center p-3">
<h1 class="h1"><a href="home.php" class="navbar-brand mx-0 font-weight-bold text-nowrap">DrishyamTech</a></h1>
<h1 class="text-white display-6"><?php echo $current_user_id; ?></h1>
</div>
<button type="button" class="navbar-toggler border-0 order-1" data-bs-toggle="collapse" data-bs-target="#nav" aria-controls="nav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse order-last" id="nav">
<ul class="navbar-nav flex-column w-100 justify-content-center">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="userHomeDropdown" role="button" data-bs-toggle="dropdown" …Run Code Online (Sandbox Code Playgroud) 项目需求:音乐播放器应用程序,它将下载音频文件,加密并保存它们。音频文件只能在应用程序中播放。其他应用程序不应能够播放这些文件。用户也不应该能够复制文件。
方法:我不希望整个解密的音频文件在任何时候都存在。所以我想在下载音频文件后立即对其进行加密。然后,当要播放文件时,我希望它被逐块解密并播放。我相信这可以通过使用流来实现。据我搜索,名为“just_audio”的包可以播放流源中的音频。
问题:我找不到任何 Flutter/Dart 的加密包,它将以流的形式输出解密的数据。这是我第一次尝试实现加密/解密,所以我在这方面的知识很差。
笔记:
选项:
无需调试即可运行:
A problem occurred configuring root project 'android'.
> Could not load compiled classes for build file 'D:\FLUTTER\task_manager\android\build.gradle' from cache.
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪:
A problem occurred configuring root project 'android'.
> Could not load compiled classes for build file 'D:\FLUTTER\task_manager\android\build.gradle' from cache.
* Exception is:
org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'android'.
at org.gradle.configuration.project.LifecycleProjectEvaluator.wrapException(LifecycleProjectEvaluator.java:75)
.
at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:71)
at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:71)
at org.gradle.configuration.BuildOperationFiringProjectsPreparer.prepareProjects(BuildOperationFiringProjectsPreparer.java:40)
at org.gradle.initialization.DefaultGradleLauncher.prepareProjects(DefaultGradleLauncher.java:226)
at org.gradle.initialization.DefaultGradleLauncher.doClassicBuildStages(DefaultGradleLauncher.java:164)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149)
at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:125)
at org.gradle.internal.invocation.GradleBuildController$1.create(GradleBuildController.java:71) …Run Code Online (Sandbox Code Playgroud) 我正在使用此jQuery代码,仅允许在输入文本字段中输入数字。
jQuery(document).ready(function() {
jQuery( '.only_numbers' ).keydown(function (e) {
// Allow: backspace, delete, tab, escape, enter and .
if (jQuery.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
// Allow: Ctrl+A, Command+A
((e.keyCode === 65) && (e.ctrlKey === true || e.metaKey === true)) ||
// Allow: home, end, left, right, down, up
(e.keyCode >= 35 && e.keyCode <= 40)) {
// let it happen, don't do anything
return;
}
// Ensure that it is a number and stop the …Run Code Online (Sandbox Code Playgroud)