1<!DOCTYPE html> 2<!--[if lt IE 7 ]> <html class="ie6" lang="de"> <![endif]--> 3<!--[if IE 7 ]> <html class="ie7" lang="de"> <![endif]--> 4<!--[if IE 8 ]> <html class="ie8" lang="de"> <![endif]--> 5<!--[if IE 9 ]> <html class="ie9" lang="de"> <![endif]--> 6<!--[if (gt IE 9)|!(IE)]><!--> <html lang="de" > <!--<![endif]--> 7 8 <head><base href="https://www.ahoipets.de/epages/97024420.sf/de_DE/" /> 9 10<title>Anmelden - AhoiPets</title> 11<meta name="viewport" content="width=device-width, initial-scale=1" /> 12 13<meta http-equiv="X-UA-Compatible" content="IE=Edge" /> 14 15 16 17 18 19 <meta charset="utf-8" /> 20 21 22
23<script type="text/javascript"> 24(function() { 25 var dispatchTrackEvent = function(name, data) { 26 const detail = data ? deepFreeze(data) : undefined; 27 window.eComEventTarget.dispatchEvent(new CustomEvent(name, { detail: detail })); 28 }, 29 deepFreeze = function(obj) { 30 // fetch property keys 31 const propKeys = Object.getOwnPropertyNames(obj); 32 33 // recursively freeze all properties 34 propKeys.forEach(function(key) { 35 const propValue = obj[key]; 36 37 if (propValue && typeof propValue === 'object'){ 38 deepFreeze(propValue); 39 } 40 }); 41 42 return Object.freeze(obj) 43 }; 44 45 // register eComEventTarget 46 try { 47 window.eComEventTarget = new EventTarget(); 48 } catch (err) { 49 // in Edge and Safari EventTarget is no constructor 50 window.eComEventTarget = document.createElement('aside'); 51 } 52 53 // global needed methods and properties for the eComEventObject 54 window.eComEventController = { 55 track: function(name, detail) { 56 if (typeof window !== 'object' || !window.eComEventTarget) return; 57 58 if (document.readyState === 'complete') { 59 dispatchTrackEvent(name, detail); 60 } else { 61 window.addEventListener('load', function() { 62 dispatchTrackEvent(name, detail); 63 }); 64 } 65 } 66 }; 67 68})(); 69</script>
69 70
71<script type="text/javascript" src="https://www.ahoipets.de/epages/97024420.sf/de_DE/?ViewAction=SF-ViewJQueryConfig&ObjectID=134116939&CurrencyID=EUR&CacheName=Store27-7.120.0-0"></script>
71 72 73
74<script type="text/javascript"> 75 76(function(require){ 77 78function config(a,b){config._(config.c[a]||(config.c[a]={}),b)}config.c=require.config=require.config||{};config._=function(a,b){for(var c in b)b[c]instanceof Object?config._(a[c]||(a[c]={}),b[c]):a[c]=b[c]}; 79 80 81config("jquery/canvas/canvastext", { 82 fontRoot: ["", "WebRoot", "Store27", "550F", "A132", "8B1C", "6835", "03F5", "C0A8", "2AB8", "9A3B"].join("/") 83}); 84 85config("ep", { 86 baseUrl: ["https\u003A", "", "www\u002Eahoipets\u002Ede", "epages", "97024420\u002Esf", "de_DE", ""].join("/"), 87 88 objectId: '134116939', 89 viewAction: 'UnityViewRegistrationRedirect', 90 storeFrontUrl: ["https\u003A", "", "www\u002Eahoipets\u002Ede"].join("/"), 91 requestProtocolAndServer: 'https\u003A\u002F\u002Fwww\u002Eahoipets\u002Ede', 92 93 94 webUrj: ["http\u003A", "", "www\u002Eahoipets\u002Ede"].join("/"), 95 webUrlSsl: ["https\u003A", "", "www\u002Eahoipets\u002Ede"].join("/"), 96 97 google: { 98 99 } 100}); 101 102}(require)); 103</script>
103 104 105<link type="text/css" href="/WebRoot/StoreTypes/7.120.0/Strato/lib-min/package-sf.css" rel="stylesheet" /> 106
107<script type="text/javascript" src="/WebRoot/StoreTypes/7.120.0/Strato/lib-min/package-sf.js"></script>
107 108 109 110
111<script type="text/javascript"> 112 var jq = jQuery.noConflict(); 113</script>
vendor: 1 bytes, line 113
113
114<script type="text/javascript"> 115 require(["jquery/metaparse", "de_epages/design/inc/sf-initialize"]); 116 117 118 119 require(["ep/inject-sec-token"], function (ep) { 120 ep.injectSecToken(); 121 }); 122 123 124 require([ 125 "jquery", 126 "ep/accessibility-fallback", 127 128 "$ready!" 129 ], function ($, accessibilityFallback) { 130 // images 131 accessibilityFallback.fixAltAttributes(); 132 // areas 133 accessibilityFallback.fixAltAttributes({ 134 tag: 'area', 135 fallback: 'href' 136 }); 137 // areas 138 accessibilityFallback.fixAltAttributes({ 139 tag: 'input[type="image"]', 140 fallback: 'src' 141 }); 142 143 $('.skip-link').on('click.onSkipLink keydown.onSkipLink', function (e) { 144 // do nothing if key was pressed and another key than ENTER or SPACE was used 145 if (e && e.keyCode && !(e.keyCode === 13 || e.keyCode === 32)) { 146 return true; 147 } 148 149 $('#main-content').trigger('focus'); 150 }); 151 152 // fallback for `tabindex` 153 accessibilityFallback.tabIndexFallback({ 154 selectors: ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', '.ep-uiThumbbox li', '.ep-coverflow-item', '.ep-contentbox-item'] 155 }); 156 157 // fallback for `aria-live` 158 accessibilityFallback.ariaLiveFallback({ 159 selectors: ['.ui-tabs-panel', '#RemoteSearchResults'], 160 value: 'polite' 161 }); 162 163 // fallback for table header rows (for exceptions add class or ID strings without "." or "#") 164 accessibilityFallback.tableHeaderFallback({ 165 exceptions: ['PagerTablePages', '.VariationsTable table'] 166 }); 167 168 // fallback for `tooltips` 169 accessibilityFallback.fixTooltip({ 170 selectors: ['i.HelpIcon'] 171 }); 172 }); 173 174 175 176</script>
vendor: 1 bytes, line 176
176
177<script type="text/javascript"> 178window.offscreenBuffering = true; 179</script>
179 180
181<script src="/WebRoot/StoreTypes/7.120.0/Strato/SF/vilkascontentelement.swiper.min.js" type="text/javascript"></script>
181 182<link href="/WebRoot/StoreTypes/7.120.0/Strato/SF/vilkascontentelement.swiper.min.css" rel="stylesheet" type="text/css"></link>
183<script src="/WebRoot/StoreTypes/7.120.0/Strato/SF/vilkascontentelement.video.js?cacheversion=#System.VilkasBaseVersion" type="text/javascript" defer="defer"></script>
183 184 185 186 187 188 <meta property="og:image" content="https://www.ahoipets.de/storage/images/image?remote=https%3A%2F%2F97024420.shop.strato.de%2FWebRoot%2FStore27%2FShops%2F97024420%2FLogo.jpg"/> 189 <meta property="og:image:alt" content="AhoiPets"/> 190 <meta property="og:title" content="AhoiPets" /> 191 <meta property="og:type" content="website" /> 192 193 <meta property="og:description" content=""/> 194 195 196 197<link rel="shortcut icon" type="image/x-icon" href="/WebRoot/Store27/Shops/97024420//WebRoot/StoreTypes/7.86.0/Strato/favicon.ico" /> 198 199 200 <link href="/WebRoot/Store27/Shops/97024420/Styles/MyDesign/OrderProcessStyle_32.css" rel="stylesheet" type="text/css" /> 201 202 203 204 205 <link href="https://www.ahoipets.de/themes/epages.editorial/stylesheets/vintage-ep6.css" rel="stylesheet" type="text/css" /> 206 207 208 209 210 211 <!--[if IE]> 212 <link href="/WebRoot/StoreTypes/7.120.0/Strato/lib/de_epages/design/style-ie.css" rel="stylesheet" type="text/css" /> 213 <![endif]--> 214 <style type="text/css"> 215 /* if IE 10 */ 216 @import url('/WebRoot/StoreTypes/7.120.0/Strato/lib/de_epages/design/style-ie.css') screen and (-ms-high-contrast: active), (-ms-high-contrast: none); 217 </style> 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250</head> 251 252 <head> 253 <meta name="robots" content="noindex,noarchive,nofollow" /> 254</head> 255<body class="ep-now"> 256 <div class="MultipleStep-Container ep-customer-area"> 257 <div class="Header"> 258 259 260 261 262 <div class="Logo ep-checkout-logo"> 263 <a href="https://www.ahoipets.de/de" title="AhoiPets" class="ShowElement"> 264 <img src= 265 "/storage/images/image?remote=https%3A%2F%2F97024420.shop.strato.de%2FWebRoot%2FStore27%2FShops%2F97024420%2FLogo.jpg" 266 267 alt="AhoiPets" 268 class="HideElement" 269 270 /> 271 </a> 272 </div> 273
273<script> 274 (function() { 275 var img = document.querySelector('.ep-checkout-logo img'); 276 277 // logo is not preloaded yet 278 if (img.width === 0) { 279 img.addEventListener("load", function() { 280 img.classList.remove('HideElement'); 281 }); 282 } else { 283 img.classList.remove('HideElement'); 284 } 285 })(); 286 </script>
286 287 288 289 290 291 292 293 294 295 296 297 <div class="header-right"> 298 299 <div class="Continue"> 300 <a href="https://www.ahoipets.de/de" class="ep-customer-area-back-link" title="Zurück zur Startseite">Zurück zur Startseite</a> 301</div> 302<div class="header-account"> 303 <a href="?ViewAction=UnityViewMyAccount" class="CursorPointer" id="ep-customer-area-menu-link"> 304 <span class="header-account-icon"></span> 305 </a> 306</div> 307 308 309 <div class="header-minicart"> 310 <a href="/de/cart" class="header-minicart-checkout"> 311 <span class="header-minicart-icon"></span> 312 <span class="header-minicart-badge">0</span> 313 </a> 314</div> 315 316 317</div> 318 319 320 321 322</div> 323 324 <div class="ContentArea ep-customer-area-login-container ep-contentBox-check"> 325 326 <div class="ep-crossroad ep-checkout-crossroad"> 327 328 <div class="ep-contentBox"> 329 330 331 <form id="UserLoginForm" class="ep-js ep-customer-area-login-form" data-js=".uiForm()" method="post" 332 333 action="?ViewAction=UnityViewMyAccount" 334 > 335 <input type="hidden" name="ChangeAction" value="SaveLoginForm" /> 336 <input type="hidden" name="RegistrationObjectID" value="134116939" /> 337 <input type="hidden" name="ErrorAction" value="UnityViewRegistrationRedirect" /> 338 <input type="hidden" name="ErrorObjectID" value="134116939" /> 339 <input type="hidden" name="Origin" value="Content" /> 340 341 342<div class="ep-login"> 343 <h2 class="">Anmelden</h2> 344 <p>Sie haben schon ein Konto? Melden Sie sich an, um fortzufahren.</p> 345 346 <div class="Dialog AddressDialog Reset NoMargin"> 347 <div class="SizeContainer BottomMarginWide"> 348 <div class="InputBlock"> 349 <div>E-Mail-Adresse</div> 350 <div> 351 <input class="Text ep-js" aria-required="true" aria-label="Erforderlich" data-js=".uiValidate({required:true,orientation:'bottom' })" name="Login" id="ep-checkout-loginname" type="text" value="" autocomplete="email" /> 352 </div> 353 </div> 354 <div class="InputBlock"> 355 <div>Kennwort</div> 356 <div> 357 <input class="Text ep-js" aria-required="true" aria-label="Erforderlich" data-js=".uiValidate({required:true,orientation:'bottom' })" name="Password" type="password" value="" autocomplete="current-password" /><br /> 358 </div> 359 </div> 360 </div> 361 <button type="submit" class="ep-js ep-loginButton ep-uiInput ep-uiInput-button" data-js=".uiInput({big:true})" name="Save" value="Anmelden" >Anmelden</button> 362 <div class="ep-lostPasswdLink AlignCenter TopMarginWide"> 363 <a class="Action" href="?ObjectPath=/Shops/97024420&ViewAction=UnityViewLostPassword&LastViewAction=UnityViewRegistrationRedirect&LastViewObjectID=134116939" rel="nofollow" >Kennwort vergessen?</a> 364 </div> 365 </div> 366</div> 367 368 369 370 </form> 371</div> 372 373 <div class="ep-contentBox ep-customer-area-register-now"> 374 <h2>Neu bei AhoiPets?</h2><br/> 375 <p><i class="fa fa-check"></i> Bestellungen einsehen & Kontoinformationen verwalten</p> 376 <p><i class="fa fa-check"></i> Produkte zu einer Wunschliste hinzufügen</p> 377 <p><i class="fa fa-check"></i> Schnell & einfach ein kostenfreies Kundenkonto erstellen</p> 378 <a href="?ViewAction=UnityViewRegistration"> 379 <button type="submit" name="Register" class="PercentWidth75 ep-button ep-js ep-uiInput ep-uiInput-button" data-js=".uiInput({big:true})">Konto erstellen</button> 380 </a> 381</div> 382 383 384 </div> 385 386 387 </div> 388 389 <div class="ContentArea FooterText popupLinks"> 390 <p>Bitte beachten Sie die Hinweise auf folgenden Seiten: <a href="https://www.ahoipets.de/de/l/withdrawal">Widerrufsrecht</a>, <a href="https://www.ahoipets.de/de/l/privacy">Datenschutzerklärung</a>, <a href="https://www.ahoipets.de/de/l/contact">Impressum</a> und <a href="https://www.ahoipets.de/de/l/tac">AGB</a>. </p> 391 </div> 392 393
394<script> 395require([ 396 "jquery", 397 398 "$ready!" 399 ], function ($) { 400 $('.popupLinks a').attr('target', '_blank'); 401 }); 402</script>
402 403 404
404<script type="text/javascript"> 405require(["jquery", "util/storage", "$ready!"], function ($, storage) { 406 // remove all selected products on logout 407 var $LogoutNodes = $('a[href*="ChangeAction=Logout"]'); 408 409 $LogoutNodes.each(function (event){ 410 $(this).on('click', function (event){ 411 storage.sessionStorage('Product::ProductComparison', null); 412 }); 413 }); 414}); 415</script>
415<script type="text/javascript"> 416require(['jquery', '$ready!'], function ($) { 417 418 var createGadgets = function(){ 419 420 // Constants. 421 var gNodeType = 'div', 422 gClassName = 'ep-gadget', 423 gDataName = gClassName, 424 gFolder = 'ui', 425 secondClickBtn = ['facebook', 'twitter', 'otherbuttons'], 426 $gNodes, 427 googleMapsAPIKey = false; 428 429 // Transform gadget imgs to divs 430 $('img.' + gClassName).each(function (i, elem) { 431 var $elem = $(elem), 432 tmplElement = $('<div/>'), 433 replaceElement = $elem.parent('p'); 434 435 // set/remove gadget-, class- and style-values/options 436 tmplElement 437 .data(gDataName, $elem.data(gDataName)) 438 .attr({ 439 'class': ($elem.attr('class') ? $elem.attr('class') : ''), 440 'style': ($elem.attr('style') ? $elem.attr('style').replace(/\s*?height:.*?;|\s*?background.*?:.*?;|\s*?display:.*?;|\s*?margin-bottom:.*?;|\s*?max-width:.*?;|\s*?width:.*?px;/g, '') : '') 441 }); 442 443 // if parent paragraph element only contains the gadget-element => replace paragraph and gadget-element by gadget-div 444 if (replaceElement.length && replaceElement.children().length === 1 && replaceElement.text().replace(/\s|\n|\r/g, '') === '') { 445 replaceElement.replaceWith(tmplElement); 446 // if parent paragraph element contains more content => replace only gadget-element by gadget-div 447 } else { 448 $elem.replaceWith(tmplElement); 449 } 450 }); 451 452 // Build gadgets in the gadget div 453 $gNodes = $(gNodeType + '.' + gClassName); 454 455 if ($gNodes.length) { 456 // Go go gadgets. 457 $gNodes.each(function () { 458 var $this = $(this), 459 data = $this.data(gDataName), 460 elem, 461 classButton = 'ep-2-click-button SocialWeb', 462 classButtonType; 463 464 data.options.googleMapsAPIKey = false; 465 if (data.options.type && data.options.type === "google") { 466 data.options.googleMapsAPIKey = googleMapsAPIKey; 467 } 468 469 // if no second click button is needed 470 if (secondClickBtn.indexOf(data.alias) === -1) { 471 require([['de_epages', data.cartridge, gFolder, data.alias].join('/')], function ($) { 472 $this[data.cartridge + gFolder.charAt(0).toUpperCase() + gFolder.slice(1) + data.alias.charAt(0).toUpperCase() + data.alias.slice(1)](data.options); 473 474 }); 475 } else { 476 // type of button (facebook, twitter ..) 477 classButtonType = 'ep-2-click-button-' + data.alias; 478 // add classes 479 $this.addClass(classButtonType + ' ' + classButton); 480 // add tooltip 481 $this.attr("title", "Aktivieren\u0020Sie\u0020mit\u0020einem\u0020Klick\u0020den\u0020Button\u002E\u0020Erst\u0020danach\u0020können\u0020Sie\u0020die\u0020Seite\u0020in\u0020den\u0020sozialen\u0020Netzwerken\u0020teilen\u002E\u0020Nach\u0020der\u0020Aktivierung\u0020werden\u0020Daten\u0020an\u0020Dritte\u0020übertragen\u002E"); 482 $this.attr("role", "button"); 483 $this.attr("aria-label", data.alias + " - Aktivieren\u0020Sie\u0020mit\u0020einem\u0020Klick\u0020den\u0020Button\u002E\u0020Erst\u0020danach\u0020können\u0020Sie\u0020die\u0020Seite\u0020in\u0020den\u0020sozialen\u0020Netzwerken\u0020teilen\u002E\u0020Nach\u0020der\u0020Aktivierung\u0020werden\u0020Daten\u0020an\u0020Dritte\u0020übertragen\u002E"); 484 485 // add span (contains the switch) 486 $this.html('<span></span>'); 487 488 // add click-handler for 2-click-button 489 $this.on('click.gadgetHandle keydown.gadgetHandle', function (evt) { 490 // do nothing if key was pressed and another key than ENTER or SPACE was used 491 if (evt.keyCode && !(evt.keyCode === 13 || evt.keyCode === 32)){ 492 return true; 493 } 494 495 evt.preventDefault(); 496 evt.stopPropagation(); 497 498 499 $this.off('click.gadgetHandle keydown.gadgetHandle'); 500 501 var _this = $(this), 502 data = $this.data(gDataName), 503 elem = $('<div />'); 504 505 elem[0].className = this.className; 506 elem.removeClass(classButtonType + ' ' + classButton); 507 508 require([['de_epages', data.cartridge, gFolder, data.alias].join('/')], function ($) { 509 // instantiate needed widget (facebook, twitter ...) 510 elem[data.cartridge + gFolder.charAt(0).toUpperCase() + gFolder.slice(1) + data.alias.charAt(0).toUpperCase() + data.alias.slice(1)](data.options); 511 512 513 514 // replace 2-click-button with widget-element 515 _this.replaceWith(elem); 516 }); 517 }); 518 } 519 520 }); 521 } 522 }; 523 524 createGadgets(); 525 $('body').on('updatepreview', createGadgets); 526 527}
527); 528</script>
528 529
530<script> 531require([ 532 'jquery', 533 'de_epages/product/inc/energylabel', 534 535 '$ready!' 536], function ($, energylabel) { 537 var energylabels = $('.energylabel-arrow'); 538 539 energylabel.init({items: energylabels}); 540 541 // re-initialize energy label modul after search results are loaded 542 $(document).on('facetssearch:loaded', function() { 543 energylabels = $('.energylabel-arrow'); 544 545 energylabel.init({items: energylabels}); 546 }); 547}); 548</script>
548<script> 549 /* 550 * The script expects a *unique reference* to a node that is to be focused. This reference 551 * must be provided as a parameter when sending the previous page: 552 * - as hidden input: 553 * ``` 554 * <input name="FocusReference" value="UniqueNodeReference" /> 555 * ``` 556 * - as parameter in URL (GET): `...&FocusReference=UniqueNodeReference` 557 * 558 * The *unique reference* to the node that is to receive the focus again after reloading is 559 * assigned to the data attribute `data-focus-reference`: 560 * ``` 561 * <nodetag data-focus-reference='{"id": "UniqueNodeReference"}' /> 562 * ``` 563 * 564 * ============= 565 * 566 * The script also investigate on page load all nodes, that contain the attribute 567 * `data-focus-reference`. If the data focus reference object contains the 568 * property `auto`, an event is registered for the node. When the event is fired, 569 * it is ensured that a hidden input with the name `FocusReference` with the current 570 * reference as value is present. 571 * The data focus reference object can also have a property `event`. Here the 572 * event-triggering event can be specified. 573 * 574 * Example: 575 * ``` 576 * <nodetag data-focus-reference='{"id": "UniqueNodeReference", "auto": true, "event": "change.focusReference"}' /> 577 * ``` 578 */ 579 require([ 580 'jquery', 581 582 '$ready!' 583 ], function($) { 584 // get all nodes with attribute `data-focus-reference` 585 var $nodesList = $('[data-focus-reference]'), 586 $node, 587 preventScroll = false, 588 pagerIndices = []; 589 590 // get all pager nodes and add their index to pager array 591 if ($nodesList.length > 1) { 592 $nodesList.each(function(index, item) { 593 var $item = $(item), 594 data = $item.data('focusReference'); 595 596 if (data && data.type && data.type === 'pager') { 597 pagerIndices.push(index); 598 } 599 }); 600 } 601 602 $nodesList.each(function(index, item) { 603 var $item = $(item), 604 data = $item.data('focusReference'), 605 event = "click.focusReference keydown.focusReference", 606 $form, 607 $hiddenFocusReference; 608 609 if (data.auto && data.auto === true) { 610 611 event = data.event ? data.event : event; 612 613 $item.on(event, function(evt) { 614 // do nothing if key was pressed and another key than ENTER or SPACE was used 615 if (/keydown|keyup|keypressed/.test(event) && evt.keyCode && !(evt.keyCode === 13 || evt.keyCode === 32)) { 616 return true; 617 } 618 619 // get form 620 $form = $(item.form); 621 622 // if a form exists 623 if ($form.length){ 624 // get hidden input for focus reference 625 $hiddenFocusReference = $form.find('input[name=FocusReference]'); 626 627 // no hidden input for focus reference found 628 // => create hidden input and append to form 629 if ($hiddenFocusReference.length === 0) { 630 $hiddenFocusReference = $('<input type="hidden" name="FocusReference" />'); 631 $hiddenFocusReference.appendTo($form); 632 } 633
634 // add focus-reference-id of executing node as value 635 $hiddenFocusReference.val(data.id); 636 } 637 }); 638 } 639 }); 640 641 642}); 643</script>
643 644 645 646 647 648 649 650 651 652 653 654
654<script> 655require([ 656 'vendor/focus-visible', 657 658 '$ready!' 659], function(focusVisible) { 660 focusVisible(); 661}); 662</script>
662 663 664 665 666 667 668 </div> 669</body> 670 671 672</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.