【问题标题】:Drag&dropping link from Chrome to desktop does not create a correct desktop shortcut after the link href was changed by some user action某些用户操作更改链接 href 后,将链接从 Chrome 拖放到桌面不会创建正确的桌面快捷方式
【发布时间】:2015-05-13 11:58:44
【问题描述】:

在我的应用程序中,我有一个指向其他网页的链接。用户可以将该链接拖到他的桌面并为该页面创建快捷方式。 问题是,在运行时发生某些事情之后,我希望 THIS SAME 元素指向不同的网页。更改元素的 href 可以正常工作:更改后,可以单击链接并打开正确的新页面。但是,拖放到桌面功能不适用于 Chrome:

案例1:默认浏览器是IE,新链接被拖到桌面,双击桌面快捷方式在IE中打开->打开正确的新页面。

案例 2(问题):默认浏览器是 Chrome,新链接被拖放到桌面,双击桌面快捷方式在 Chrome 中打开它但它是旧页面,就像 url 从未更改过一样..

我尝试了一个简单的测试,点击按钮时 href 会发生变化,它也发生在那里:

<input type="button" id="button" value="Change url" />
<span>
    <a id="theLink" href="http://www.w3schools.com">link</a>
</span>

var onClick = function() {
     $("#theLink").attr("href", "http://www.w3schools.com/jquery");
};

$('#button').click(onClick);

可以在这里试用:http://jsfiddle.net/cealyx/pazdj9kd/4/

它在 IE 上运行良好。当默认浏览器是 Chrome 或 Mozilla 时不起作用。 操作系统:Windows 8.1 使用 jQuery 2.0.3。

当我打开快捷方式的属性时:在“Web 文档”选项卡中,URL 不是正确的新 URL。但是在“详细信息选项卡”中,URL 是正确的,因此它设法更新到某个点.....

以前有人遇到过这个问题吗?有解决方案吗? 一些解释为什么会发生这种情况也应该很好。 谢谢

【问题讨论】:

  • 缓存已删除?
  • 是的,也删除后@katz
  • 我也可以在 Chrome 41 上重现此问题。
  • 最好是查看 Chromium 的 bug 列表,如果之前没有人遇到过,请自行报告。请参阅chromium.org/for-testers/bug-reporting-guidelines 这可能需要一些时间,但他们最终会解决问题。

标签: javascript html windows google-chrome drag-and-drop


【解决方案1】:

我发现链接文本也必须更改,以便在拖动到桌面时将其识别为具有不同 URL 的不同链接。 因为即使有 2 个链接具有相同的文本并在一个隐藏和一个可见之间切换,奇怪的是,没有工作。但是如果你 除了 URL 之外稍微更改文本 strong>,我发现它可以在 Chrome 45 中使用。

<a id='mylink' href='http://google.com'>Google</a>

$('#mylink').prop('href', 'http://booble.com').html('Google~') //Works
$('#mylink').prop('href', 'http://booble.com') //Does not work
$('#mylink').prop('href', 'http://booble.com').html('Google') //Does not work

【讨论】:

    猜你喜欢
    • 2011-01-03
    • 2014-01-21
    • 2019-12-01
    • 2013-03-14
    • 1970-01-01
    • 1970-01-01
    • 2017-03-14
    • 2011-06-21
    • 1970-01-01
    相关资源
    最近更新 更多