我一直在关注Shopify Resources的提示,要求访问者根据欧盟Cookie法律允许使用Cookie。
编码有效,但当我通过W3C Markup Validation Service提供的编码时,会出现以下错误
错误第25行,第139列:元素上不允许属性read_more 脚本此时。 ... -cookie / require-opt-in.js“read_more =”doc / website_privacy_policy.pdf“>
我的编码是
<link rel="stylesheet" type="text/css" href="http://www.heartinternet.co.uk/eu-cookie/main.css"/>
<script type="text/javascript" src="http://www.heartinternet.co.uk/eu-cookie/support-opt-in.js"></script>
<script type="text/javascript" src="http://www.heartinternet.co.uk/eu-cookie/require-opt-in.js" read_more="doc/website_privacy_policy.pdf"></script>
我尝试将read_more属性移到<script>
标记之外,方法是将其更改为
<script type="text/javascript" src="http://www.heartinternet.co.uk/eu-cookie/require-opt-in.js">read_more="doc/website_privacy_policy.pdf";</script>
这不起作用,因为它没有在弹出窗口中显示“阅读更多”链接。我还尝试将其放入单独的<script>
块中,以便将编码更改为
<link rel="stylesheet" type="text/css" href="http://www.heartinternet.co.uk/eu-cookie/main.css"/>
<script type="text/javascript" src="http://www.heartinternet.co.uk/eu-cookie/support-opt-in.js"></script>
<script type="text/javascript">read_more="doc/website_privacy_policy.pdf";</script>
<script type="text/javascript" src="http://www.heartinternet.co.uk/eu-cookie/require-opt-in.js"></script>
但这也不起作用。同样,没有显示“阅读更多”链接。
有没有办法将read_more
变量传递到require-opt-in.js
文件并符合W3C标记?
答案 0 :(得分:1)
他们似乎没有给你传递网址的另一种选择。您可以手动设置读取更多链接,更改最后一个脚本块(即创建小部件的脚本块),并自行编写一个。例如:
<script type="text/javascript">
"use strict";
var showSplash = function(){
HI.optInCookies.readMoreURL = "doc/website_privacy_policy.pdf";
HI.optInCookies.showSplash();
};
if(document.body) {
showSplash();
} else {
setTimeout(showSplash, 100);
}
</script>
如果他们改变他们的api会破坏,但我没有看到其他选项,因为他们搜索更多url的代码正在查看脚本块中名为“read_more”的属性。 你可以改变上面的代码,以对你最有意义的方式传递更多的url。
您也可以在this fiddle中尝试。
答案 1 :(得分:0)
您可以使用JavaScript插入脚本:
var script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.setAttribute("src", "http://www.heartinternet.co.uk/eu-cookie/support-opt-in.js");
script.setAttribute("read_more", "doc/website_privacy_policy.pdf");
document.getElementsByTagName("head")[0].appendChild(script);
因此W3C标记验证服务不会检测到它。