我现在正在网站上工作,并且有一些我想要更改的文字。该网站在标题中有一个搜索功能,在输入字段中键入3或4个字符后,产品列表会下拉列出产品名称中包含这些字符的产品(类似于:http://www.lightexports.com/)。我想更改该列表底部显示的文本“查看所有结果”。
我尝试使用.replace()函数,但这不起作用,我不能使用window.onload,因为如果你从不使用搜索,那么代码永远不会在网站上加载。显示产品列表的代码和我想要更改的文本仅在您开始在搜索栏中输入后显示。
**注意:我使用的平台是Bigcommerce,只允许使用HTML,CSS和JavaScript。
非常感谢任何帮助。提前致谢并快乐编码!
答案 0 :(得分:1)
我已经弄清楚了。实现这一目标的最佳方式7:
下载在您的网站上加载的quicksearch.js文件 - 它在Snippets/QuickSearchJS.html
排队,您可以导航到yourstore.com/javascript/quicksearch.js
下载。
将此文件上传到您的WebDav文件夹/template/js/
在您可以从BigCommerce后端“设计>编辑HTML / CSS”页面编辑的Snippets/QuickSearchJS.html
代码段文件中,注释掉原始<script>
代码并添加标记到指向您上传到WebDav的JS文件。新的Snippets/QuickSearchJS.html
文件应如下所示:
<!-- <script type="text/javascript" src="%%GLOBAL_CdnAppPath%%/javascript/quicksearch.js?%%GLOBAL_JSCacheToken%%"></script> -->
<script type="text/javascript" src="%%ASSET_js/quicksearch.js%%?%%GLOBAL_JSCacheToken%%"></script>
(是的,我知道语法看起来很奇怪但只是因为使用了ASSET的方式以及cachetoken的方式也必须有%%。这种语法是正确的。)
在您通过WebDav上传到js文件夹的quicksearch.js中,编辑以下几行,围绕第184-195行:
if(all_results_count)
{
var tr = document.createElement('TR');
var td = document.createElement('TD');
tr.className = "QuickSearchAllResults";
tr.onmouseover = function() { QuickSearch.over_all = true; };
tr.onmouseout = function() { QuickSearch.over_all = false; };
td.colSpan = 2;
td.innerHTML = $('viewmoreurl', response).text();
tr.appendChild(td);
popup.appendChild(tr);
}
这样它们看起来像这样:
if(all_results_count)
{
var tr = document.createElement('TR');
var td = document.createElement('TD');
tr.className = "QuickSearchAllResults";
tr.onmouseover = function() { QuickSearch.over_all = true; };
tr.onmouseout = function() { QuickSearch.over_all = false; };
td.colSpan = 2;
td.innerHTML = 'YOUR NEW CUSTOM TEXT/NAME FOR THE "View All Results" LINK GOES HERE';
tr.appendChild(td);
popup.appendChild(tr);
}
将“查看所有结果”链接的新名称放在以td.innerHTML =
如果有帮助或有任何问题,请告诉我。