相关疑难解决方法(0)

使用JavaScript删除URL中的片段w/out导致页面重新加载

背景:我有一个HTML页面,可以让您扩展某些内容.由于只需要加载页面的一小部分进行此类扩展,因此通过JavaScript完成,而不是通过指向新的URL/HTML页面.然而,作为奖励,用户能够永久链接到这样的扩展部分,即向其他人发送诸如的URL

http://example.com/#foobar

并为其他用户立即打开"foobar"类别.这使用parent.location.hash ='foobar',因此该部分很好.

现在的问题是:当用户在页面上关闭此类别时,我想再次清空URL片段,即将http://example.com/#foobar转到http://example.com/以更新永久链接显示.但是,这样做parent.location.hash = ''会导致重新加载整个页面(例如在Firefox 3中),我想避免这种情况.使用window.location.href = '/#'不会触发页面重新加载,但会在URL中留下一些看起来不太好看的"#"符号.那么在流行的浏览器中有没有一种方法可以删除包含"#"符号的URL锚点,而不会触发页面刷新?

html javascript url fragment-identifier

43
推荐指数
3
解决办法
5万
查看次数

如何使用外部".js"文件

我有以下两个javascript函数:

1

showCountry()
Run Code Online (Sandbox Code Playgroud)

2

showUser()
Run Code Online (Sandbox Code Playgroud)

我想把它们放在外部的".js"文件中

1

<a href="javascript:showCountry('countryCode')">countryCode</a>
Run Code Online (Sandbox Code Playgroud)

2

<form>
 <select name="users" onChange="showUser(this.value)">
 <option value="1">Tom</option>
 <option value="2">Bob</option>
 <option value="3">Joe</option>
 </select>
</form>
Run Code Online (Sandbox Code Playgroud)

调用这些函数的正确语法是什么?

html javascript

43
推荐指数
3
解决办法
25万
查看次数

在标签中调用javascript函数的更好方法

以下哪种方法是从标签调用js函数的更好方法?

<a href="javascript:someFunction()">LINK</a>
Run Code Online (Sandbox Code Playgroud)

要么

<a href="#" onclick="someFunction();" return false;">LINK</a>
Run Code Online (Sandbox Code Playgroud)

我在这里看到了这个问题,但它说<span onclick="someFunction()">是一个更好的选择.但由于某些原因,我必须使用<a>链接.

编辑:我正在寻找一个跨浏览器和跨平台的解决方案,它也应该适用于机器人和iPad.

html javascript

37
推荐指数
2
解决办法
10万
查看次数

打开新浏览器窗口的最佳方法是什么?

我知道大多数链接应由最终用户决定如何打开,但我们不能否认有时你几乎"必须"强行进入一个新窗口(例如维护表单中的数据)在当前页面上).

我想知道的是,在新的浏览器窗口中打开链接的"最佳"方式的共识是什么.

我知道那<a href="url" target="_blank">是出局.我也知道由于<a href="#" onclick="window.open(url);">各种原因这并不理想.我也尝试用类似的东西完全替换锚点,<span onclick="window.open(url);">然后将SPAN的样式看起来像一个链接.

我倾向于<a href="url" rel="external">使用的一个解决方案是使用JavaScript将所有目标设置为标记为"外部"的锚点上的"_blank".

还有其他想法吗?什么更好?我正在寻找最符合XHTML标准且最简单的方法.

更新:我说target ="_ blank"是一个否定的,因为我已经在几个地方读过目标属性将逐步退出XHTML.

html javascript browser

36
推荐指数
4
解决办法
3万
查看次数

使用空href创建<a>链接的最佳方法

我想创建一个链接,并使用javaScript强制链接锚点,我尝试了以下内容: -

<a id="ServerSort" href="#" style="text-decoration:underline">
Run Code Online (Sandbox Code Playgroud)

它运作良好,但点击<a>链接后页面将失去当前位置.

我需要链接有一个href,因为我需要鼠标来更改光标吗?

谁有人建议?

html javascript css jquery html5

36
推荐指数
5
解决办法
5万
查看次数

Blazor 链接 - 如果有 onclick 方法,则禁用 href

在 Blazor 中,我有一个<a>同时具有 ahrefonclick方法的元素:

<a href="" onclick="@(() => ChangePage(_someObject))">Test</a>
Run Code Online (Sandbox Code Playgroud)

onclick 调用这个方法:

  private bool ChangePage(object objectToDisplay)
  {
    _currentObject = objectToDisplay;
    StateHasChanged();

    return false;
  }
Run Code Online (Sandbox Code Playgroud)

通常在 JavaScript 中,从 event 方法返回 false 会停止后续导航到 中的链接href但这似乎不适用于我上面的代码。

单击链接后,如何阻止 Blazor 将页面更改为根 url?

(这里显而易见的答案是href完全删除,但我正在使用引导 Pill 中的链接并删除 Pillhref工作的停止)

我尝试过的其他方法不起作用:

  • <a>元素更改为跨度并设置data-target属性,但这会正确停止 Pills 渲染。
  • 添加returnonclick事件中(根据此答案):onclick="return @(() => ChangePage(_overviewModel))"但这不会编译。
  • returnonclick事件之后添加:onclick="@(() => ChangePage(_overviewModel)); …

c# blazor blazor-server-side

29
推荐指数
4
解决办法
2万
查看次数

为什么在href使用javascript:void(0)而不是#?

我可以<a href="javascript:void(0);">在html页面上看到很多内容.从我看过它回来后什么也没做undefined.这有什么不同<href="#">

javascript

23
推荐指数
1
解决办法
4万
查看次数

Internet Explorer按钮:活动内部填充

Trident <=9似乎将内部填充附加到活动 元素.

是否可以使用css 禁用此功能

注意:这只是一个例子,而不是真实世界的截图

css internet-explorer cross-browser

21
推荐指数
2
解决办法
1万
查看次数

中间点击(新标签页)和javascript链接

我负责工作的网站,最近我添加了ajaxy请求,以使其更快,响应更快.但它提出了一个问题.

在我的页面上,左侧有一个索引表,就像菜单一样.单击它后,它会发出填充页面其余部分的请求.您可以随时单击索引的另一个项目以加载其他页面.

在添加javascript之前,可以为索引的每个项目进行中间点击(打开新选项卡),这允许在我处理其中一个时加载其他页面.但由于我已将所有链接更改为ajax请求,因此它们现在执行一些javascript而不是真正的链接.因此,当我中间点击它们时,它们只打开空标签.

有没有办法结合两种功能:链接在左键单击时触发javascript或在中间单击时触发新标签?它是否必须是一些丑陋的JavaScript捕获每次点击并相应地处理它们?

谢谢.

html javascript ajax

17
推荐指数
2
解决办法
8261
查看次数

使用javascript拦截所有文档链接点击

如何拦截文档中的链接点击?它必须是跨平台的.

我正在寻找这样的东西:

// content is a div with innerHTML
var content = document.getElementById("ControlPanelContent");

content.addEventListener("click", ContentClick, false);

 function ContentClick(event) {

    if(event.href == "http://oldurl")
  {
     event.href = "http://newurl";
  }
} 
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助.

html firefox internet-explorer javascript-events

14
推荐指数
2
解决办法
2万
查看次数