我现在正在一个网站上工作,有一些文本我想更改。该网站的标题中有一个搜索功能,在输入字段中键入3或4个字符后,会出现一个产品列表,列出产品名称中包含这些字符的产品(类似于:http://www.lightexports.com/)。我想更改显示在该列表底部的文本"查看所有结果"。
我试过使用.replaces()函数,但不起作用,而且我不能使用window.onload,因为如果你从不使用搜索,那么代码就永远不会加载到网站上。显示产品列表的代码和我想更改的文本只有在您开始在搜索栏中键入后才会出现。
**注意:我使用的平台是Bigcommerce,只允许使用HTML、CSS和JavaScript。
非常感谢您的帮助。提前感谢,编码愉快!
我已经想通了。实现这一点的最佳方法7:
-
下载在您的站点上加载的quicksearch.js文件——它在
Snippets/QuickSearchJS.html
中排队,您可以通过导航到yourstore.com/javascript/quicksearch.js
来下载它。 -
将此文件上载到WebDav文件夹
/template/js/
-
在您可以从BigCommerce后端"设计>编辑HTML/CSS"页面编辑的
Snippets/QuickSearchJS.html
Snippet文件中,注释掉原始<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 =
开头的行的"one_answers"之间
- 现在,只需保存和刷新您的页面,您的文本将被本地更改,而无需编写JS、监视事件或委派任何操作
请告诉我这是否有帮助,或者如果你有任何问题。