在按钮中编辑 onclick url
Edit onclick url in button
我正在尝试在按钮点击事件中编辑 url。下面是按钮的来源和我想从 onclick 部分删除的文本。最终目标是拥有一个 Tampermonkey 脚本,让我可以轻松下载 stp 文件,而无需在单击后手动编辑 link。
移除
"fusion360://command=insert&file=" +
来自
<button type='button' class="event btn btn-default btn-lg btn-block" onclick='window.location.href = "fusion360://command=insert&file=" + encodeURIComponent("https://assets.sas-automation.com/cad/SWM%203.stp");' data-category="Product Sidebar Right" data-action="Button Click" data-label="Opened CAD File in Fusion" aria-label="button">Open in Fusion360</button>
有很多方法可以实现这一点,这是我想到的一种:
- 使用 getElementsByClassName(或任何其他选择器函数)获取按钮
- 将
onclick
属性值(文本类型)保存到变量
- 找到给定的子字符串并将其替换为空字符串
- 将结果保存回按钮的
onclick
属性。
注意:您的解决方案有一个陷阱:为了在单击按钮时获得正确的重定向,您必须删除方法 encodeURIComponent
,因为 url 似乎已经编码。
你应该可以开始了。你可以玩这个片段。
var button = document.getElementsByClassName('event btn btn-default btn-lg btn-block')[0];
var onClick = button.getAttribute('onclick')
.replace(/"fusion360:\/\/command=insert&file="\s*\+\s/, '')
.replace('encodeURIComponent(', '')
.replace(');', '');
button.setAttribute('onclick', onClick);
<button type='button' class="event btn btn-default btn-lg btn-block" onclick='window.location.href = "fusion360://command=insert&file=" + encodeURIComponent("https://assets.sas-automation.com/cad/SWM%203.stp");'
data-category="Product Sidebar Right" data-action="Button Click" data-label="Opened CAD File in Fusion" aria-label="button">Open in Fusion360</button>
我正在尝试在按钮点击事件中编辑 url。下面是按钮的来源和我想从 onclick 部分删除的文本。最终目标是拥有一个 Tampermonkey 脚本,让我可以轻松下载 stp 文件,而无需在单击后手动编辑 link。
移除
"fusion360://command=insert&file=" +
来自
<button type='button' class="event btn btn-default btn-lg btn-block" onclick='window.location.href = "fusion360://command=insert&file=" + encodeURIComponent("https://assets.sas-automation.com/cad/SWM%203.stp");' data-category="Product Sidebar Right" data-action="Button Click" data-label="Opened CAD File in Fusion" aria-label="button">Open in Fusion360</button>
有很多方法可以实现这一点,这是我想到的一种:
- 使用 getElementsByClassName(或任何其他选择器函数)获取按钮
- 将
onclick
属性值(文本类型)保存到变量 - 找到给定的子字符串并将其替换为空字符串
- 将结果保存回按钮的
onclick
属性。
注意:您的解决方案有一个陷阱:为了在单击按钮时获得正确的重定向,您必须删除方法 encodeURIComponent
,因为 url 似乎已经编码。
你应该可以开始了。你可以玩这个片段。
var button = document.getElementsByClassName('event btn btn-default btn-lg btn-block')[0];
var onClick = button.getAttribute('onclick')
.replace(/"fusion360:\/\/command=insert&file="\s*\+\s/, '')
.replace('encodeURIComponent(', '')
.replace(');', '');
button.setAttribute('onclick', onClick);
<button type='button' class="event btn btn-default btn-lg btn-block" onclick='window.location.href = "fusion360://command=insert&file=" + encodeURIComponent("https://assets.sas-automation.com/cad/SWM%203.stp");'
data-category="Product Sidebar Right" data-action="Button Click" data-label="Opened CAD File in Fusion" aria-label="button">Open in Fusion360</button>