2011-12-10 20 views
5

CustomSearchControl'ü kullanırken, sonuç sayfalarının sayısı, görüntülemekte olduğunuz sayfaya bağlı olarak değişir. Örneğin, this site gidip arayın: ilk sonuç sayfasında arabaTutarsız sayfalandırma bağlantılarını gösteren Google CustomSearchControl

, bu 3 sayfalara bağlantılar gösterecektir, ancak önce 2 veya 3 tıklayın sayfanın 2.

yapar Neden biter Bu olur ve bunun için bir çözüm var mı?

Gerçek sonuç sayısını elde etmek ve kendi sayfa numaramı oluşturmak mümkün mü?

+0

bunu hiç anladın mı? Kendi sayfamı oluşturmaya çalışırken aynı problemle karşılaşıyorum. – AlbertVo

+0

@AlbertVo Buna bir çözüm bulamadım. – ofko

cevap

1

Bunun nedeni, Google'ın yalnızca kaç sonuç bulunduğunu tahmin etmesidir. Her sayfayı yüklediğinizde, tahminde bulunur ve böylece sayfa sayısı değişir.

customSearchControl.searcher.cursor nesnesinin tahminiResultCount özelliğini kontrol edebilirsiniz, ancak maalesef size yardımcı olmayacaktır, çünkü bu yalnızca CSE'nin sayfalandırma işlemini oluşturmak için kullandığı tahmindir. (Her sayfa yüklendikçe, yeni tahminde değişecektir.) Ayrıca bir sonuçCount özelliği de vardır, ancak her zaman tahmin edilen ScoreResort'a eşit olduğu için geriye dönük uyumluluk için olduğuna inanıyorum. CSE aynı zamanda, tahminini hatırlayabilecek kadar akıllı değildir. Böylece bir 127 tahminiyle başlayabilirsin, son sayfaya git ve 94 tane olmalı, sonra ikinci sayfaya git ve 120'ye sahip ol. 94'ten fazla ol. Bu yüzden eğer gerçekten istediyseniz, en azından minimum değeri takip eden kendi sayfalarınızı belirtebilirsiniz. Son sayfada genel olarak (her zaman?) Görünür, bu nedenle mümkün olduğunca iyi olması gerekiyorsa, son sayfayı programlı olarak yükleyebilir, sayfalandırmayı oluşturmak için tahmini yapabilir ve ardından kullanıcının ilk sayfasına geri dönebilirsiniz. .

Bu rotayı kullanmaya karar verirseniz, customSearchControl.searcher.cursor.gotoPage (sayfa) işlevini kullanarak kendi sayfa numaralarınızı oluşturabilirsiniz. (https://developers.google.com/web-search/docs/reference#_class_GSearch)

+0

Üzgünüm, ama yapabileceğiniz tek şey :( –