【发布时间】:2019-12-04 19:55:12
【问题描述】:
我在我的网站上使用 Barba.js。当通过 Barba.js 加载“投资组合”页面时,我运行一个函数,我们称之为 get_portfolio_items()。 get_portfolio_items() 需要访问一些内联 javascript 变量的值。如果“投资组合”页面是要加载的第一个页面,则 get_portfolio_items() 可以很好地访问这些变量。但是,如果先加载另一个页面,然后单击进入 Portfolio 页面,则会出现错误:
loadMoreVars 未定义。
尽管我可以看到 loadMoreVars 在 DOM 中。
如何在 get_portfolio_items() 中访问这些变量?谢谢!
这是出现在新页面上的实际 HTML 中的脚本:
<script type="text/javascript">
var loadMoreVars = {
postsPerPage : 9,
maxNumPages : 6,
};
</script>
这是每当通过 Barba.js 加载新页面时调用的函数
function get_portfolio_items(){
alert(loadMoreVars.postsPerPage);
alert(loadMoreVars.maxNumPages);
}
这是加载新页面时触发该函数的 Barba.js 代码。
Barba.Dispatcher.on('newPageReady', function(current, prev, container) {
history.scrollRestoration = 'manual';
get_portfolio_items()
});
如何让函数查看变量并提醒它们?
【问题讨论】:
-
你能提供更多代码吗?很难理解发生了什么。
-
您好,我编辑了以上内容以提供更清晰的信息。请让我知道这是否有意义
-
脚本标签是在页面的头部还是正文中?
-
将包含'loadMoreVars'的脚本加载到body中,barba.js及相关脚本也初始加载到body中
标签: javascript ajax scope barbajs