我正在加载一个可嵌入的元素,但是当页面加载时,它会跳转/滚动到该元素。我尝试使用jQuery添加一个可以滚动到页面顶部的函数,但是没有效果。
我在Chrome和Edge上注意到了这种行为,但是在FireFox上却没有。
我期望页面不会滚动到元素。我添加了jQuery函数,仍然遇到了同样的行为。
const elementConfig = {
language: 'en-US',
trip: {
originAirport: "RIX",
destinationAirport: "TLL"
},
placement: '',
features: {
showFilters: true,
showMapLegend: true,
}
}
function onSherpaEvent(event) {
// Ensure that the sdk is loaded before creating the element:
if (event.type === 'sdkLoaded') {
$sherpa.V2.createElement('map', elementConfig).mount('#sherpa-trip-element');
}
}
$(document).ready(function() {
// Handler for .ready() called.
$('html, body').animate({
scrollTop: $('#what').offset().top
}, 'slow');
});
<script src="https://sdk-sandbox.joinsherpa.io/widget.js?appId=sxM5NjIzNz" defer></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<div id="what">What</div> <br> some <br> content <br> that <br> is <br> just <br> meant <br> to <br> be <br> a <br> placeholder <br> in order <br> to see <br> if <br> this <br> scroll <br> issue <br> happens <br> here
<div id="sherpa-trip-element">sherpa-trip-element</div>
2条答案
按热度按时间abithluo1#
你需要问夏尔巴人,小部件中有数百个滚动调用,mount上没有回调,document.ready在夏尔巴人聚焦时已经触发了。
最好是将小部件移动到您控制的iFrame中
2mbi3lxu2#
尝试检查版本。
此处为:https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs