Google Search JavaScript 코드 세그먼트가 내비게이션에서 실행되지 않음

14762 단어 jquery-pjax

묘사

아카이브 페이지에는 다음과 같은 내용이 있습니다.
    <script>
      (function() {
        var cx = '002428664232771263876:m1vbqio4y8u';
        var gcse = document.createElement('script');
        gcse.type = 'text/javascript';
        gcse.async = true;
        gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
            '//www.google.com/cse/cse.js?cx=' + cx;
        var s = document.getElementsByTagName('script')[0];
        s.parentNode.insertBefore(gcse, s);
      })();
    </script>
    <gcse:search></gcse:search>
주소 표시줄을 통해 압축 파일 페이지에 직접 들어가면 검색 표시줄을 불러오지만, PJAX를 통해 그곳으로 이동하면 검색 표시줄을 불러오지 않습니다.이 소식을 듣고 나는 매우 괴로웠다.최신 jquery pjax 버전을 사용하고 있다고 믿습니다.
주소 표시줄이 표시되지 않아도, pjax 내비게이션 전과 후에

토론 #1

스크립트가 DOM에 삽입되었는지 확인할 수 있습니까?내연 스크립트가 실행되었는지 다른 문제가 발생했습니다.$('script[src]').get() 최신 버전, 네!
나는 www.google.com/cse/cse.js 이미 삽입되었음을 확인할 수 있다. 그림과 같다.
screen shot 2015-03-13 at 4 03 05 pm
(내비게이션 캡슐은 파란색 줄에 표시될 것이다.http://rachelnabors.com/archive)

토론 #2

답장이 늦어서 죄송합니다.여기에서 무슨 일이 일어났는지 모르겠지만, 스크립트가 페이지에 성공적으로 삽입되었기 때문에, jQuery는 내연 스크립트를 실행하는 작업을 끝냈을 것 같습니다.
사용자가 직접 제공한 링크 (pjax 내비게이션 없음) 를 방문할 때, Chrome에서 다음과 같은 예외가 발생합니다.
- GETwww.google.com/cse/cse.jsnet:::ERR 클라이언트에 의해 차단됨
-GET

토론 #셋

net: ERR CLIENThttp://www.google.com/uds/?file=ads&v=3&packages=search&async=2에 의해 막혔기 때문에 나는 이 행동을 다시 한 번 보았다.
1) 이러한 오류는 단지 시선을 돌리는 것일 뿐이다.다른 사람들은 비PJAX 사이트에서 그것들을 얻었다.
GSE/ads의 일입니다.
2) 검색 표시줄의 성공적인 표시에만 나타나는 것 같습니다.
3) 처음 탐색한 경우 검색 표시줄에
첫 번째 페이지에 액세스하거나 PJAX를 통해 액세스하는 페이지에 관계없이 페이지
PJAX를 통해 페이지로 돌아가면 해당 페이지에 대한 링크를 클릭할 수 있습니다.
페이지 또는 다른 페이지에 대한 링크를 클릭한 다음 해당 링크를 클릭하여
페이지가 표시되지 않습니다.만약 당신이 수동으로 페이지를 새로 고친다면, 그것은...
2015년 3월 20일 금요일 오후 6:07 미스라프 마로니치[email protected]
쓰기:

Sorry for the late reply. I'm not sure what's going on here, but because the script was successfully inserted into the page, I would guess that jQuery did its job of executing inline scripts.

When I visit the link you provided directly (no pjax navigation) I get these exceptions in Chrome: - GET http://www.google.com/uds/?file=ads&v=3&packages=search&async=2 net::ERR_BLOCKED_BY_CLIENT - GET http://www.google.com/adsense/search/async-ads.js net::ERR_BLOCKED_BY_CLIENT

— Reply to this email directly or view it on GitHub https://github.com/defunkt/jquery-pjax/issues/499#issuecomment-84214294.

http://www.google.com/adsense/search/async-ads.js 내가 직접 크롬(pjax가 없음)으로 이 페이지를 방문했을 때 검색 표시줄은 상호작용이 없는 것 같다.적어도 내가 그것을 눌렀을 때, '필드' 는 초점을 얻지 못하고, 제출 단추도 작동하지 않는다.
This is the HTML of the search box, 구글에서 생성될 수 있습니다.이것은 너무 무섭고, 가장 중요한 것은 그것이 전혀 작용하지 않는다는 것이다.검색창을 만드는 더 쉬운 방법은 없을까?
나는 내가 가정된 pjax 문제를 연구하는 것을 피하고 있다는 것을 알고 있지만, 많은 스크립트와 관련된 문제는 먼저 스크립트가 필요한 것을 피함으로써 해결된다.가장 좋은 JS 사이트는 가능한 한 JS 사용을 피하는 사이트이다.

토론 #4

나는 제키르로 이 사이트를 만들었다.평탄한 장소로서 하나 지을 방법이 없다
내 검색창이야.많은 사이트들이 구글의 검색창을 사용하기 때문에
PJAX가 있어서 저는 가능한 한 대다수 사람들이 사용하는 해결 방안을 믿겠습니다.
Stack Overflow와 GitHub 등에서 가장 많은 지원을 받고 싶다.
죄송합니다. 생성된 코드가 당신에게 예쁘지 않습니다.차라리
보기 흉한 표시가 있는 검색창이 있는 것이 하나도 없는 것보다 낫다.
그리고 내 측의 PJAX를 제거할 때 그것도 나에게 효과가 있다.
2015년 3월 22일 일요일 새벽 2:50 미스라프 마로니치[email protected]
쓰기:

When I visit this page directly in Chrome (no pjax), the search bar doesn't seem interactive. At least when I click on it, the "field" doesn't gain focus, nor does the submit button work.

This is the HTML of the search box, presumably generated by Google:

좋은 웹페이지 즐겨찾기