如何阻止假定不可见的javascript占用空间

How to stop supposedly invisible javascript taking up space?

本文关键字:javascript 占用空间 何阻止      更新时间:2023-09-26

我不是很擅长编程,但我做了一些研究,发现这一小串javascript,让我有一个声音播放立即在页面上点击每个javascript链接按钮:

<embed src=reset.wav autostart=false width=0 height=0 id=sound7 enablejavascript=true>

问题是,当我放入一些这样的行来定义不同的声音时,它们开始占据页面空间。我已经将它们全部移动到代码的最底部,就在结束所有主要内容的div结束之后,就在body结束之前(见下文)。这样它们就不会打乱元素的位置,但仍然会在其他元素下面留下空白,这令人沮丧,因为它使滚动条不必要地出现。

</div>
<embed src=reset.wav autostart=false width=0 height=0 id=sound7 enablejavascript=true>
<embed src=reset2.wav autostart=false width=0 height=0 id=sound8 enablejavascript=true>
</body>
</html>

我已经看到了一些关于如何不使用visibility=hidden和使用display=none的答案,但我不确定如何将这些应用于这段代码,因为我是新的。我需要改变这个字符串的哪些部分,或者在哪里添加代码的其他部分的例子将非常感激。

------------------ 更新 -----------------------------------

由于某些原因,Microsoft Word(是的,我承认这是我正在使用的)不允许我在这些嵌入周围插入任何样式或div来应用'display: none'。可能我只是不知道我在做什么,但即使我成功地应用'display: none'到每个嵌入使用以下代码的声音停止播放,即使空白空间被有效地删除:

<embed style='display:none' src=reset.wav ....>

然后我想到了另一个解决方案。我在这个页面上堆叠了许多元素,并认为如果看不见的声音代码条目要占用空间,它们可以重叠元素,这样就不会移动或添加任何内容,因为它们没有视觉方面,所以不会覆盖任何内容。我研究了重叠是如何工作的,并应用了这一点,它正在工作!

<embed style='position:absolute;z-index:1' src=reset.wav autostart=true
width=0 height=0 id=sound1 enablejavascript=true>

要清楚,你所发布的是HTML,而不是JavaScript。这不是管理页面声音的最佳方法,但是,假设您希望保留此方法:

如果它们正在显示或引起布局问题,最简单的事情就是将它们包装在一个div中,该div为display:none

<div style="display:none;">
    <embed...>
    <embed...>
    <embed...>
</div>

一个更"干净"的方法是为所有这些嵌入添加一个通用的类,然后为它们设置一个通用的CSS规则:

<embed class="mysounds" ... >
<style>
     embed.mysounds { display:none; }
</style>

如果你在谈论页面上的物理屏幕空间,那么你可以把它们放在一个div中,并强制它非常小:

<div id="sounds" style="display: none;">
<embed src=reset.wav autostart=false width=0 height=0 id=sound7 enablejavascript=true>
<embed src=reset2.wav autostart=false width=0 height=0 id=sound8 enablejavascript=true>
</div>

如果,由于某些原因,这不起作用(有些东西,如Adobe flash无法加载,如果它是隐藏的),那么你可以试着把每个小,像这样:

<div id="sounds">
<embed style="height: 1px" src=reset.wav autostart=false width=0 height=0 id=sound7 enablejavascript=true>
<embed style="height: 1px" src=reset2.wav autostart=false width=0 height=0 id=sound8 enablejavascript=true>
</div>